学习基础第一节

php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。

php是一门后台编程语言,是目前比较主流的后台编程语言。

认识一下PHP及其功能。

1、运行在服务器端:学会了PHP,就可以指挥服务器给你干活,甚至是搞破坏^_^(千万不能真这么做咯),WEB网站的大部分数据都是存储在服务器端的,PHP就是用来处理这些存储在服务器的数据的(功能强大吧)。

2、跨平台:服务器可以是多种平台的服务器,比如Linux、Windows、Unix,你都可以指挥(不用怕只能指挥一种服务器啦吧)。

3、脚本语言:它是通过编写脚本,也就是一行行的计算机指令(也可以理解为特定的英文单词),来指挥服务器来工作的,因此,在编写PHP的过程其实就是与老外(服务器成老外啦)交流的过程,交流的语言就是PHP。

4、免费:免费使用(天下还真有免费的午餐)。

如果出现乱码,解决乱码需要加head头:header("Content-type:text/html;charset=utf-8");

想在页面中编写PHP​代码非常容易,如下面代码:

<?php

echo "想学习php吗?来慕课网吧";

?>

就像你可以编写JavaScript脚本语言需要写在<script></script>标签之间一样,你可以在页面中编写PHP代码写在<?php  ?>标签之间,但注意后面的?>是可以省略的。

//die;

//@die($a);

//exit();

//@exit($a);

echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号。不过,如果您希望向 echo() 传递一个以上的参数,

那么使用括号会发生解析错误。而且echo是返回void的,并不返回值,所以不能使用它来赋值。

<?php

$a = echo("words"); // 错误!不能用来赋值

echo  "words"; // 55nav

echo  ("words"); // 55nav

echo   ("apple","bear"); //发生错误,有括号不能传递多个参数

echo    "alice","bill","cart", "daring";  // 不用括号的时候可以用逗号隔开多个值, 会输出alicebillcartdaring  不管是否换行,最终显示都是为一行

$fistname="alice";

echo "$fistname com"; // 如果 $firstname = "alice", 则会输出 alice com.

echo '$firstname com'; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname com

?>

print_r函数打印关于变量的易于理解的信息。

如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式。对于object对象类同。print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE。

<?php

print_r($arr);//直接打印数组$arr

$a="alice";

$c=print_r($a);

echo  $c;//$c的值是TRUE

$c=print_r($a,true);

echo       $c;           //$c的值是字符串alice

?>

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

var_dump($a);

<?php echo "hello world!";?>

<?php echo 12*3;?>

一个字符串是用双引号括起来的一个词或一个句字,你可以用PHP语言输出把这个字符串输出,像这样:

<?php echo "hello world!";?>

也可以用单引号括起来.

<?php echo "Hi,"."imooc!";?>

连接符可以连接多个字符串,上面的例子就是把一个字符串拆分为二个小字符串,然后用一个连接符连起来。在php中字符串连接符是用点(.)来表示的,这一点比较特殊,其它语言中是用加号(+)来表示的,比如:JavaScirpt、Asp、C。

有的小伙伴们是不是已经注意在每一条PHP代码行结尾处都会有一个分号;。对的,这点注意,在PHP编程中需要在每条语句的末尾加入分号;。但要注意,分号;一定在半角状态下输入噢。

在PHP中也有注释语句:用双斜杠(//)来表示。其它语言中,Html中使用,CSS中使用/*注释语句*/

注释语句可以在PHP程序的任意位置(但注释语句一定要写在之间)。

变量是用于存储值的,我们命令服务器去干活的时候,往往需要产生一些数据,需要临时性存放起来,方便取用。我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果、榴莲(当然也可以用来装玫瑰),需要注意的是,一般情况下一个变量只能装一个(不要太贪心)值,除非是复合变量(后面变量类型时会介绍),当我们放进去一个苹果后,再放进榴莲的时候,苹果就被替换掉,再放入香蕉,那么榴莲就被替换了。

定义变量就是向服务器的内存申请空间,用来存储数据。这时候我们就需要用到变量名和变量值.

<?php

$var _name = "苹果";

$n = 10;

?>

解释一下,在“=”左边的是变量名,右边的是变量值。完成定义变量后,需要一个;告诉服务器这行指令已经结束。其中变量名必须通过$符号标识,“=”可不是我们平常所说的等号哦,在PHP中,=是赋值运算符;在这里,var_name是变量名,“苹果”是变量值,它是一个字符串;n是变量名,10是变量值,它是一个整型。

变量名除了需要“$”进行标识外,还有一些规则需要遵守。变量名的命名规则主要有三条:

①变量名必须以字母或下划线“-”开头,数字不能开头。如”$_name”,”$name” ,”$name2”等

②变量名只能由字母、数字、以及“_”组成,还能包含汉字。如”$_qq”,”$qq308” ,”$my_apple”,“比如"$name我等”,但是”$name*”是不对的。

③变量名不允许包含空格。当变量名由多个单词组成,建议使用下划线“-”进分隔比如 $my_apple),俗称下划线法,或者以大写字母开头比如 $myApple,俗称骆驼式命名法(也称驼峰命名法)。

特别需要注意的是,在PHP中变量名是区分大小写的,如“$my_book”与“$my_Book”代表两个不同的变量。

在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型。

可以对比一下内存消耗

<?php

echo $m1 = memory_get_usage(); //初始化消耗内存

echo "<br/>";

$var_string = "123";

echo $m2 = memory_get_usage()-$m1; //字符串消耗内存

echo "<br/>";

$n=123;

echo $m3 = memory_get_usage()-$m1-$m2; //整型消耗内存

echo "<br/>";

$f=123.00;

echo $m4 = memory_get_usage()-$m1-$m2-$m3;//浮点型消耗内存

echo "<br/>";

$var_array = array("123");

echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4; //数组消耗内存

?>

$arr = array(1);

echo is_array($arr);

$num = 5;

echo is_int($num);

$str = ‘hello’;

var_dump($str);

$arr = array(‘A’, ‘B’, ‘C’);

var_dump($arr);

<?php

$string="就是就是"; //定义一个字符串“就是就是”

var_dump($string);

echo "<br/>";

$string="9494";//把它变成整型“9494”

var_dump($string); //通过“var_dump”函数,输出数据类型

echo "<br/>";

?>

输出结果:string(12) "就是就是"               int(9494)

我们可以发现, 这个变量自动就从原来的字符串转换成了整型咯。

布尔类型(boolean):只有两个值,一个是TRUE,另一个是FALSE,可以理解为是或否。它不区分大小写。主要用在条件结构中。需要注意的是,当我们用echo指令输出布尔类型时,如果是true则输出的是1,false则什么也不输出。我们可以使用var_dump函数,获取它真正的数据类型。

整型(integer):类似于常见的整数。它可以用十进制、八进制、十六进制指定。十进制就是日常使用的数字;八进制,数字前必须加上“0”(阿拉伯数字0);十六进制,数字前必须加“0x”(阿拉伯数字0)。如:

<?php

$data_int = 1234;  // 十进制数

$data_int = -567;    // 一个负数

$data_int = 0123;    // 八进制数(等于十进制的 83)

$data_int = 0x1a;    // 十六进制数(等于十进制的 26)

?>

浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。

<?php

echo $num_float1 = 1.234;    //小数点,输出结果1.234

echo $num_float2 = 1.2e3;    //科学计数法,小写e,输出结果1200

echo $num_float3 = 7.0E-3;    //科学计数法,大写E,输出结果0.007

?>

字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。

字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。

<?php

$str_string1='我是字符串1';

$str_string2="我是字符串2";

echo $str_string1;

echo "<br/>";

echo $str_string2;

?>

<?php

$str_string1 = '甲问:"你在哪里学的PHP?"';       //单引号中嵌入双引号

$str_string2 = "乙毫不犹豫地回答:'当然是慕课网咯!'";      //双引号中嵌入单引号

$str_string3 = '甲问:\'能告诉我网址吗?\'';            //单引号中嵌入单引号,使用转义符“\”

echo $str_string1;

echo $str_string2;

echo $str_string3;

echo $str_string4;

?>

当引号遇到美元咋办?这里的美元可不是真正的美元,而是用美元符号标识的变量。

\n        换行

\r          回车

\t          水平制表符,tab键

\\           反斜杠

\$          美元符

\”           双引号

<?php

$love = "I love you!";

$string1 = "慕课网,$love";

$string2 = '慕课网,$love';

echo $string1;                    //输出:慕课网,I  love you!

echo "<br/>";

echo $string2;                    //输出:慕课网,$love

?>

<?php

我有一只小毛驴,我从来也不骑。

有一天我心血来潮,骑着去赶集。

我手里拿着小皮鞭,我心里正得意。

不知怎么哗啦啦啦啦,我摔了一身泥.

echo $string1;

?>

资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕之后回收资源,以避免内存被消耗殆尽。

<?php

$con=mysql_connect("localhost","root","root");  //连接数据库

$img=imagecreate(100,100);//图形画布

?>

<?php

//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。

if ($file_handle){

//接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字

while (!feof($file_handle)) { //判断是否到最后一行

$line = fgets($file_handle); //读取一行文本

echo $line; //输出一行文本

echo "<br/>"; //换行

fclose($file_handle);//关闭文件?>

filename必需。规定要打开的文件或 URL。

mode必需。规定要求到该文件/流的访问类型。可能的值见下表。

include_path可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。

context可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

mode 参数的可能的值:

"r"只读方式打开,将文件指针指向文件头。

"r+"读写方式打开,将文件指针指向文件头。

"w"写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"w+"读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"a"写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"a+"读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"x"创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

"x+"创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

注释:不同的操作系统家族具有不同的行结束习惯。当写入一个文本文件并想插入一个新行时,需要使用符合操作系统的行结束符号。基于 Unix 的系统使用 \n 作为行结束字符,基于 Windows 的系统使用 \r\n 作为行结束字符,基于 Macintosh 的系统使用 \r 作为行结束字符。 如果写入文件时使用了错误的行结束符号,则其它应用程序打开这些文件时可能会表现得很怪异。

Windows 下提供了一个文本转换标记("t")可以透明地将 \n 转换为 \r\n。与此对应还可以使用 "b" 来强制使用二进制模式,这样就不会转换数据。要使用这些标记,要么用 "b" 或者用 "t" 作为 mode 参数的最后一个字符。

默认的转换模式依赖于 SAPI 和所使用的 PHP 版本,因此为了便于移植鼓励总是指定恰当的标记。如果是操作纯文本文件并在脚本中使用了

\n 作为行结束符,但还要期望这些文件可以被其它应用程序例如 Notepad 读取,则在 mode 中使用 "t"。在所有其它情况下使用

"b"。

在操作二进制文件时如果没有指定 "b" 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。

注释:为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 "b" 标记。

注释:再一次,为移植性考虑,强烈建议你重写那些依赖于 "t" 模式的代码使其使用正确的行结束符并改成 "b" 模式。

file必需。规定要读取的文件。

length可选。规定要读取的字节数。默认是 1024 字节。

从file指向的文件中读取一行并返回长度最多为length- 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了length- 1 字节后停止(要看先碰到那一种情况)。如果没有指定length,则默认为 1K,或者说 1024 字节。若失败,则返回 false。

注释:length参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024 字节。从 PHP 4.3 开始,忽略掉length将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8 KB,则在脚本中指定最大行的长度在利用资源上更为有效。

注释:从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。

注释:如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。

file必需。规定要读取的文件。

length可选。规定要读取的字节数。默认是 1024 字节。该参数在 PHP 5 之前是必需的。

tags可选。规定不会被删除的标签。

可以用可选的第三个参数tags指定哪些标记不被去掉。若失败,则返回 false。

<?php

echo fgetss($file,1024,"<p>,<b>");

fclose($file);

?>

file必需。规定要关闭的文件。

NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。

<?php

error_reporting(0);                    //禁止显示PHP警告提示

$var;                                        //为变量未赋值

var_dump($var);                     //NULL

$var1=null;                              //将null赋值给变量$var1

var_dump($var1);                      //NULL

$var2=NULL;                           //将NULL赋值给变量$var2

var_dump( $var2);                    //NULL

$var3 = "节日快乐!";

unset($var3);                             //将变量$var3注销定义

var_dump($var3);                    //NULL

?>

php提供了很多预定义的变量,用于提供大量与环境有关的信息。

(1)$_SERVER服务器变量,该全局变量包含着服务器和客户端配置及当前请求环境的有关信息。

print_r  ($_SERVER)

$_SERVER['SERVER_NAME']:当前运行脚本所在的服务器的主机名

$_SERVER['REMOTE_ADDR'] :客户端IP地址

$_SERVER['REQUEST_URI']:URL的路径部分

$_SERVER['HTTP_USER_AGENT'] :操作系统和浏览器的有关信息

(2)$_GET  该变量包含使用GET方法传递的有关信息

(3)$_POST该变量包含使用POST方法传递的参数的有关信息。

(4)$_REQUEST该变量记录着通过各种输入方法传递给脚本的变量,如GET、POST,但不要用这个超级全局变量,因为它不安全而且速度比较慢。

(5)$_COOKIE    cookie变量数组

(6)$_SESSION   会话变量数组

(7)$_FILES  与上传文件有关的变量数组

(8)$_ENV    环境变量数组

(9)$GLOBALS  所有全局变量数组

empty()函数是用来测试变量是否已经配置,判断值为否为空。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。0为空。

如: 假设 $value = 0; 则empty($value)=false

isset()函数 一般用来检测变量是否设置.若变量不存在则返回 FALSE。若变量存在且其值为NULL,也返回 FALSE。若变量存在且值不为NULL,则返回 TURE。

简单来说就是,有值返回true,没有值返回false,0不是空,0也是表示有值

使用 unset() 释放变量之后,它将不再是 isset()。

PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。

什么是常量?常量可以理解为值不变的量(如圆周率)。或者是常量值被定义后,在脚本的其他任何地方都不可以被改变。php中的常量分为自定义常量和系统常量。

自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义。

define()函数的语法格式为:

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

它有3个参数:

第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。第二个参数“value”为必选参数,它是常量的值。第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。

(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)

(通常常量都全用大写)

//举个栗子,将圆周率定义为常量“PI”

<?php

$p = "PII";

define("PI",3.14);

define($p,3.14);

echo PI;                  //3.14

echo "<br/>";

echo PII;                //3.14

?>

常量主要功效是可以避免重复定义,篡改变量值。在我们进行团队开发时,或者代码量很大的时候,对于一些第一次定义后不改变的量,如果我们使用变量,在不知情的情况下,使用同一变量名时,变量值就会被替换掉,从而会引发服务器执行错误的任务。

此外,使用常量还能提高代码的可维护性。如果由于某些原因,常量的值需要变更时候,我们只需要修改一个地方。例如在做计算中,起初我们取圆周率为3.14,于是很多计算中我们都使用3.14进行计算,当要求计算精度提高,圆周率需要取3.142的时候,我们不得不修改所有使用3.14的代码,倘若代码量比较多时,不仅工作量大,还可能遗漏。

<?php

define("PI",3.14);

$r=3;

echo "面积为:".(PI*$r*$r)."<br/>";

echo "周长为:".(2*PI*$r)."<br/>";

?>

系统常量是php已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

<?php

echo _FILE_;

echo _LINE_;

echo PHP_VERSION;

echo PHP_OS;

?>

获取常量值的有两种方法取值。第一种是使用常量名直接获取值;例如计算圆周率的面积,如下(“*”是运算符,相当于乘号,后面部分的小节会介绍):

<?php

define("PI",3.14);

$r=1;

$area =PI*$r*$r;                      //计算圆的面积

?>

第二种是使用constant()函数。它和直接使用常量名输出的效果是一样的,但函数可以动态的输出不同的常量,在使用上要灵活、方便,其语法格式如下:

mixed constant(string constant_name)

第一个参数constant_name为要获取常量的名称,也可为存储常量名的变量。如果成功则返回常量的值,失败则提示错误信息常量没有被定义。(注:mixed表示函数返回值类型为多种不同的类型,string表示参数类型为字符串类型)

//举个栗子:

<?php

$p="";

//定义圆周率的两种取值

define("PI1",3.14);

define("PI2",3.142);

//定义值的精度

$height = "中";

//根据精度返回常量名,将常量变成了一个可变的常量

if($height == "中"){

$p = "PI1";

}else if($height == "低"){

$p = "PI2";

$r=1;

$area= constant($p)*$r*$r;

echo $area;

?>

如果常量被重复定义以后,PHP解析器会发出“Constant XXX already defined”的警告,提醒我们该常量已经被定义过。那么,在团队开发,或代码量很大的情况下,我们如何去判定一个常量是否被定义呢?

defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:

bool defined(string constants_name)

它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)

<?php

define("PI1",3.14);

$p = "PI1";

$is1 = defined($p);

$is2 = defined("PI2");

var_dump($is1);           //bool(true)

var_dump($is2);           //bool(false)

?>

PHP_OS       php所在操作系统的名称

PHP_VERSION  当前的php的版本号

echo     __LINE__;

echo    __FILE__;

function    test(){

echo     __FUNCTION__;

test();

class      Test{

function    test1(){

echo    __CLASS__;

echo   "<br/>";

echo    __METHOD__;

$newTest=new    Test();//将类实例化

$newTest->test1();//调用

PHP中的运算符有哪些?PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。

在php中的常用的算术运算符:+       -      *        /       %

PHP的赋值运算符有两种,分别是:

(1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。

(2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

<?php

$a = "我在慕课网学习PHP!";

$b = $a;

$c = &$a;

$a = "我不知道我在干嘛!";

echo $b."<br/>";                        //我在慕课网学习PHP!

echo $c."<br/>";                        //我不知道我在干嘛!

?>

比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。

在PHP中常用的比较运算符:>      <       >=      <=     ==    !=      ===     !==     <>(不等)

(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。

主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:

And(逻辑与)     $a and $b         如果$a与$b都为TRUE,返回TRUE

Or(逻辑或)         $a or $b        如果$a或$b任一为TRUE,返回TRUE

Xor(逻辑异或)      $a xor $b        如果$a与$b有且仅有一个为TRUE,返回TRUE

Not(逻辑非)         !$a                  如果$a不为TRUE,返回TRUE

And(逻辑与)     $a && $b           如果$a与$b都为TRUE,返回TRUE

Or(逻辑或)      $a || $b              如果$a或$b任一为TRUE,返回TRUE

“与”和“或”有两种不同形式运算符的原因是它们运算的优先级

前三个逻辑运算符的优先级最低。

PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

<?php

$conn = @mysql_connect("localhost","username","password");

echo "出错了,错误原因是:".$php_errormsg;

?>

顺序结构就像一条直线,按着顺序一直往下执行。我们编写的代码默认都是按照顺序结构执行的。

条件结构就像一个岔路口,可以向左走,也可以向右走。

PHP中的“if…else…”语法,如下:

<?php

if(条件){

//分配服务器干的任务A

}else{

//分配服务器干的任务B

?>

PHP中的“if…else if…”语法,如下:

<?php

if(条件一){

//分配服务器干的任务A

}else if(条件二){

//分配服务器干的任务B

?>

通过条件一判断,若返回值为布尔值为TRUE,则执行任务A,若返回值为FALSE,则判断条件二,若返回值为布尔值TRUE,则执行任务B,否则既不执行任务A,也不执行任务B。服务器会继续往下执行其他任务。

PHP中的“if…else if…else…”语法,如下:

<?php

if(条件一){

//分配服务器干的任务A

}else if(条件二){

//分配服务器干的任务B

}else{

//分配服务器干的任务C

?>

通过条件一判断,若返回值为布尔值TRUE,则执行任务A,若返回值为FALSE,则判断条件二,若返回值为布尔值TRUE,则执行任务B,否则既不执行任务A,也不执行任务B,执行任务C。

PHP中的“switch...case...”语法,如下:

<?php

switch (条件)

case 条件值一:

//任务一

break;

case 条件值二:

//任务二

break;

default:

//默认任务

?>

首先判断条件,若条件的返回值为条件值一,则执行任务一,若条件返回的值为条件值二,则执行任务二,若条件的返回值既不是条件值一也不是条件值二,则执行默认任务。break的作用是结束switch(后面会有专门举例说明),使用switch 语句可以避免冗长的 “if..else if..else”代码块。

break的作用是阻止代码进入下一个case 中继续执行。

在PHP中,while循环语句如下:

<?php

while(条件){

//执行任务

?>

首先判断某个条件是否符合(条件返回值是否为TRUE),若符合则执行任务,执行完毕任务,再判断条件是否满足要求,符合则重复执行此任务,否则结束任务。

语法如下:

<?php

do{

//执行任务

}while(条件)

?>

首先执行任务(上一节的while语句是先判断条件是否成立,再执行任务),执行任务完毕,判断某个条件是否符合(条件返回值是否为TRUE),若符合则再次执行任务,执行完毕任务,继续判定条件。

while与do…while循环语句的区别是,while先判断条件是否成立,后执行循环,do...while先执行一次任务,再判断是否继续执行循环,也就是说do...while至少会执行一次任务。当条件为FALSE时,while中的任务会一次也不执行,do...while中的任务会执行1次。

for循环语句结构如下:

<?php

for(初始化;循环条件;递增项){

//执行任务

?>

for 语句中,“初始化”在循环开始前无条件求值一次,“循环条件”在每次循环开始前求值。如果值为 TRUE,则继续循环,执行循环体语句(执行任务)。如果值为 FALSE,则终止循环。“递增项”在每次循环之后被求值(执行)。其常用于循环执行代码块指定的次数。

在PHP中foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标、取下标。

(1)只取值,不取下标

<?php

foreach (数组   as    值){

//执行的任务

?>

(2)同时取下标和值

<?php

foreach (数组    as    下标 => 值){

//执行的任务

?>

有一组以学号为下标,姓名为值的数组,这时候需要遍历数组的姓名。

<?php

$students = array('2010'=>'令狐冲','2011'=>'林平之','2012'=>'曲洋','2013'=>'任盈盈','2014'=>'向问天','2015'=>'任我行','2016'=>'冲虚','2017'=>'方正','2018'=>'岳不群','2019'=>'宁中则',);//10个学生的学号和姓名,用数组存储

//使用循环结构遍历数组,获取学号和姓名

foreach($students as  $v)

echo $v;       //输出(打印)姓名

echo "<br/>";

?>

列出所有学生学号和姓名!

<?php

$students = array('2010'=>'令狐冲','2011'=>'林平之','2012'=>'曲洋','2013'=>'任盈盈','2014'=>'向问天','2015'=>'任我行','2016'=>'冲虚','2017'=>'方正','2018'=>'岳不群','2019'=>'宁中则',);//10个学生的学号和姓名,用数组存储

//使用循环结构遍历数组,获取学号和姓名

foreach($students as  $key=>$v)

echo $key.":".$v;//输出(打印)学号:姓名

echo "<br/>";

?>

条件结构嵌套就像回家的路上会遇到多个十字路口。

循环结构嵌套,就是类似于跑多个足球场,例如假设有两个足球场,一个大足球场,一个小足球场,在大足球场跑一圈后,再到小足球场跑几圈,跑完几圈后,再到大足球场中继续跑。在遍历二维数组中很常用。

有时候在执行任务时,对于一些特殊的任务还需要进行额外处理,这个时候就会将循环结构与条件结构嵌套使用。

THE END
0.白车身NVH特殊结构设计规范白车身NVH特殊结构主要是指覆盖件的非焊接加强结构、空腔的阻断结构、空腔的填充结构和减振隔音吸音结构。 本白车身NVH特殊结构设计规范主要内容是介绍如何运用白车身结构加强(悬空面支撑结构)、空腔阻断结构和减振隔音吸音结构来提高用户的满意度和舒适度。 白车身 NVH 特殊结构设计规则 1、 悬空面支撑结构设计:其结构形式主要有内jvzq<84yyy4489iqe0ipo8hqpvkov8751363885;16642@759a722:;9958:0|mvon
1.微生物与免疫学基础02864自考复习题二2. 机体的组织屏障结构包括 、血-脑屏障和 三种。 3. 人工自动免疫指给机体输入 类物质,人工被动免疫指给机体输入 类物质。 4. 紫外线的穿透力 ,故只适用于 和物体表面消毒。 5. 多细胞真菌由 和 两个部分组成。 三.判断题(20分/每题1分) 1. 固有性免疫与适应性免疫的区别在于后者具有特异性和记忆性jvzq<84yyy4489iqe0ipo8hqpvkov8721282:86718>47A733a>:4B7;;2:/uqyon
2.心脏上有个特殊结构是什么心脏上有个特殊结构应该是窦房结,窦房结位于心脏的右心房上边,并且窦房结还有自动节律性组织称为起搏jvzquC41yy}/{rqkcpsfk}n0eqs0s~juvkuo1==843640qyon
3.什么是结构化教育?如何在特殊教育课堂中实施结构化教学?优秀的教育工作者都非常理解根据学生的独特需求进行教学的重要性,这一点在特殊教育中尤为重要。不仅有特殊需求的学生可以从中受益,所有的孩子都可以从课堂环境中的常规和结构中受益。 一.什么是结构化教育 简单来说,这是一种高度可视化的教学方法,可以在结构化的环境中促进个体对期望、活动和时间表的清晰理解。结构化jvzquC41yy}/c|i/jqsf0ls1y|jfvjnna5>58@3jvor
4.小分子药物该如何突破血脑屏障?3. 中枢神经系统的特殊结构靶向 以下是对三种策略的介绍以及举例: 图3. 增加血脑屏障通透性或降低外排率的策略示意图 ▉2.1 增加血脑屏障通透性或降低外排率的策略 在最近几年中,优化药物分子理化性质以提高其血脑屏障通透性以及降低外排率仍是增加脑暴露水平的最广泛、最有效手段。总的来说,提高药物分子血脑屏障jvzq<84yyy4489iqe0ipo8hqpvkov87412;1;85213726B635a71599377;50|mvon
5.《微生物篇》—细菌的结构与生理(三)、细菌的特殊结构 1.荚膜:大多数细菌的荚膜为多糖,少数为多肽,还有一些为透明质酸。功能:保护细菌抵御吞噬细胞的吞噬;具有特异的抗原性。 2.鞭毛:鞭毛成分是蛋白质,分为单毛菌、双毛菌、丛毛菌、周毛菌四种,功能:菌体运动(半固体培养基穿刺);具有特异的抗原性;与细菌的黏附有关。 3.菌毛:化学成分为蛋白质,分 jvzq<84yyy4489iqe0ipo8hqpvkov86:12=3686317=66@>37a=84A7534;/uqyon
6.淋巴结肿大皮髓质不清结构异常是什么意思博禾微视淋巴结发生炎症时淋巴结会肿大,淋巴结是所谓的皮质髓质,靠近表面的叫皮质,靠近中心的叫做髓质,正常的淋巴结皮质髓质结构是非常清楚的。 在超声检查下,淋巴结即使发生炎症,其皮质、髓质结构也是清楚的。一般在超声下看的比较清楚,一旦超声检查提示某一位置的淋巴结肿大,且伴有皮质、髓质的结构不清楚,这时候要高度警惕,jvzquC41yy}/dxmg0et0xrigq1|jg€4eh3vv|wqmq2nsp<3jvor
7.交通银行最新公告:这款产品将提前终止!什么是结构性存款?它与保本今日,交行官网发布公告称,根据约定条款,“天添息”结构性存款将于4月8日起提前终止。结构性存款与保本型理财产品有啥区别。3月29日,交通银行发布关于“天添息”步步盈结构性存款提前终止的公告jvzquC41dctl0qjzwp4dqv44248.2<24;1817?6322
8.尖晶石结构尖晶石产地尖晶石有什么用宝石图鉴金投珠宝水滑石(Layered Double Hydroxide,简写为LDHs)是一类具有特殊结构的层状材料,在高温焙烧条件下可以转化生成尖晶石型复合金属氧化物。由于LDHs存在着晶格能最低效应及晶格定位效应,层板中的金属离子和层间的阴离子以一定方式均匀分布,即在LDHs的每个结构单元中,其化学组成不变。因此,以LDHs作为前驱体可以在相对较低的焙jvzquC41|j{ccx3epiumf7tti1htvs4e47<86B90jvsm
9.软件工程精要软件开发活动:问题定义(构想文档,用户故事)》》需求开发(分析模型,软件需求规格说明)》》软件设计(设计模型,软件体系结构文档,软件详细设计文档)》》软件构造(源程序,目标代码,可执行构件)》》软件测试(测试规程,测试用例,测试报告)。 软件工程方法:面向过程(以算法为基本构造单元,强调自顶向下的功能分解,将功能和数jvzquC41dnuh0lxfp0tfv8mgjwgonrs3455bt}neng5eg}fknu568;<969<
10.神奇的“无气轮胎”,不用充气不怕扎刺,这是什么原理?无气轮胎采用了先进的材料科技来构造轮胎的结构。传统气囊轮胎中,轮胎内充满了高压气体,该气体提供了足够的支撑力和缓冲效果。这种设计也存在一些问题,如爆胎和漏气等。无气轮胎通过使用特殊的高强度材料,如橡胶合成材料,能够承受车辆行驶时所施加的压力,并提供持久的性能。 jvzquC41yy}/fxsiejkek7hqo1gsvrhng1=37?>;98:5;>7954772
11.细菌的特殊结构是()A.鞭毛、荚膜B.细胞质C.遗传物质D.细胞壁细菌细胞的基本结构为:细胞壁、细胞膜、细胞质和未成形的细胞核;特殊结构有鞭毛和荚膜,荚膜的作用是保护.鞭毛有运动作用,依靠鞭毛的摆动细菌可以运动.故选:A. 细菌是一类结构简单的单细胞生物.细菌的基本结构有细胞壁、细胞膜、细胞质和DNA集中的区域,没有成形的细胞核.有的细菌还有荚膜和鞭毛. 本题考点:细菌的jvzquC41sd4{wx~gdcth0lto1zlf/zzguvopp8vwguzjqw4eg:6b2:=ce5687k>67di9;>kcd:>27m<0jvsm
12.理解企业微信:产业数字化的生态征途公司X透镜通过对不同平台生态结构的观察,特别是企业微信生态的特殊结构的识别和案例实证研究,我们看到,企业微信生态的独特结构帮助其展现了在服务业中的优势。需要承认,缺乏与主要竞争者钉钉生态的结构-绩效定量对比是本文的不足,不过,这项研究对当事企业的业务决策仍然具有一定价值。 jvzquC41hktbplj0gcyuoxsg{0ipo8f142822B694367:?=9734ivvq
13.什么是均温块?均温块在热电偶校准中有什么作用该型热电偶结构特殊,因此校准时对温度场有着较高要求;并且这类热电偶一般直径比较粗,捆扎装炉后会明显改变管式炉温场,造成校准时受热不均匀,带来较大测量误差,按常规方法无法准确校准。通过设计制作符合其结构特点的专用均温块,实现T3热电偶静态温度特性校准。该均温块的开孔尺寸略大于热电偶直径,孔深也随之增加,jvzq<84{wpxvp7hqo0io1}jej1942A3jvor
14.王智豪:液晶屏如何成像?“液晶”究竟是什么材料?兼具固体与液体性质——液晶的特殊结构 液晶显示器在我们的生活中十分常见,电视,电脑,各种各样小家电的显示屏,几乎都采用了液晶显示器。要想了解液晶显示器,我们先要了解什么是 “液晶”材料。 其实从它的名称就能看出它的特点来:“液”表示液体,“晶”表示晶体——也就是一种固态物质,说明液晶同时具有固体和液体的一些性质。 我们都知道 jvzq<84yyy4lgyz0pgz/ew4mrsll8fnn1814<44249168y4249169
15.“渝”见大师|胡朝晖:为建筑打造“钢筋铁骨”这个建筑造型极为特殊,结构要求安全可靠、轻盈美观。为了完成造型,我们用真实的芒果进行了三维数据提取,在建筑软件中放大后进行细化处理,通过建筑塑形和结构找形,最终完成了结构的构件布置。针对芒果造型的屋盖,设计采用了钢结构的“张弦梁+空间网格”结构形式。张弦梁结构简洁、轻盈美观,特别适合本工程。jvzq<84es0vfqyqg0eun0ls1p4532;8132791l8898=3/=582:9837mvon
16.《管理的常识》读书笔记(管理的常识(修订版))书评3、组织结构特殊效能“组织结构是可以同时获得个人满足感和工作绩效的管理方式。”第一个层面,是职权阶层。第二个层面,是直线和幕僚的区分。第三个层面,是部门的划分。第四个层面,是授权和分权。“在领导职能里,你所得到的权力是授权;在组织职能里,你所得到的权力是分权。”第五个层面,是形式化的程度。第六jvzquC41dqul0mtwdct/exr1tg|jg€4373;:8?>1
17.(思维导图)古代汉语特殊句式:判断句、被动句、省略句、倒装句所谓特殊句式,就是句子的结构与平常的结构组成存在着区别和不同。古代汉语中的特殊句式主要有: 一、判断句 二、被动句 三、省略句 四、倒装句 一、判断句 1.……是…… 问今是何世,乃不知有汉 翻译:问现在是什么朝代,竟然不知道有汉朝 2.……者,…… jvzquC41yy}/5?5fqe4dp8rkr1?8496:45
18.高三语文文言文知识点④是何异于刺人而杀之……(“于刺人而杀之……”为介宾结构) ⑤申之以孝悌之义(“以孝悌之义”为介宾结构) (三)省略句 可以无饥矣(“以”后省略宾语“之”,句意是:可以凭借它不受饥饿之苦了) 六、特殊结构(结合课后“研讨与练习”第二题作小结) jvzquC41yy}/{~|gpoo/exr1ujodk8|gp{goyns165679B90jvsm