菜鸟教程-PHP php-wiki
PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。
基本的 PHP 语法 PHP 脚本可以放在文档中的任何位置。 PHP 脚本以 <?php 开始,以 ?> 结束: <?php // PHP 代码 ?>PHP 文件的默认文件扩展名是 “.php”。 PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。 下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 “Hello World!”:
<!DOCTYPE html> <html> <body> <h1>My first PHP page</h1> <?php echo "Hello World!"; ?> </body> </html>PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。 通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
PHP 中的注释 和C语言类似,//用于单行注释,/*...*/ 用于多行注释变量是用于存储数据的"容器":
实例: <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> PHP 变量 与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。 变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。 PHP 变量规则: 变量以 $ 符号开始,后面跟着变量的名称 变量名必须以字母或者下划线字符开始 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ ) 变量名不能包含空格 变量名是区分大小写的($y 和 $Y 是两个不同的变量)创建(声明)PHP 变量 PHP 没有声明变量的命令。 变量在您第一次赋值给它的时候被创建: $txt="Hello world!";当您赋一个文本值给变量时,请在文本值两侧加上引号。
PHP 是一门弱类型语言 在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。 PHP 会根据变量的值,自动把变量转换为正确的数据类型。 在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。PHP 变量作用域 变量的作用域是脚本中变量可被引用/使用的部分。 PHP 有四种不同的变量作用域: local 局部作用域 global 全局作用域 static 静态作用域 parameter 函数参数作用域局部和全局作用域 在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。 在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问: <?php $x=5; // 全局变量 function myTest() { $y=10; // 局部变量 echo "<p>测试函数内变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; } myTest(); echo "<p>测试函数外变量:<p>"; echo "变量 x 为: $x"; echo "<br>"; echo "变量 y 为: $y"; ?>在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。 当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值(表现为输出空白),因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。 然后我们在myTest()函数外输出两个变量的值,函数将会输出全局变量 $x 的值,但是不能输出 $y 的值(表现为输出空白),因为 $y 变量在函数中定义,属于局部变量。 注:你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。
PHP global 关键字 global 关键字用于函数内访问全局变量。 在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字: function myTest() { global $x,$y; $y=$x+$y;//这样就可以修改在外面定义的下x,y的值 }PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。 上面的实例可以写成这样:
function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } Static 作用域 当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。 要做到这一点,请在您第一次声明变量时使用 static 关键字: <?php function myTest() { static $x=0; echo $x; $x++; echo PHP_EOL; // 换行符 } myTest(); myTest(); myTest(); ?>该程序运行结果是:0 1 2,因为每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
参数作用域 参数是通过调用代码将值传递给函数的局部变量。 参数是在参数列表中声明的,作为函数声明的一部分: <?php function myTest($x) { echo $x; } myTest(5); ?>echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
显示字符串 下面的实例演示了如何使用 echo 命令输出字符串(字符串可以包含 HTML 标签): <?php echo "<h2>PHP 很有趣!</h2>";//使用了html的标题标签 echo "Hello world!<br>"; echo "我要学 PHP!<br>"; echo "这是一个", "字符串,", "使用了", "多个", "参数。";//输出一句连续的话 ?> 显示变量 下面的实例演示了如何使用 echo 命令输出变量和字符串: <?php $txt1="学习 PHP"; $txt2="RUNOOB.COM"; $cars=array("Volvo","BMW","Toyota");//声明了一个数组 echo $txt1; echo "<br>"; echo "在 $txt2 学习 PHP "; echo "<br>"; echo "我车的品牌是 {$cars[0]}"; ?>print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。
print语句的输出和echo语句相同,只是无法输出多个字符串。 print "这是一个", "字符串,", "使用了", "多个", "参数。";//会提示语法错误注意: 1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。 2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。 3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接,如下:
<?php $name="runoob"; $a= <<<EOF "abc"$name//变量不需要用连接符 . 或 , 来拼接 "123" EOF; // 结束需要独立一行且前后不能空格 echo $a; ?>String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
PHP 字符串 一个字符串是一串字符的序列,就像 “Hello world!”。 你可以将任何文本放在单引号或双引号中: $x = "Hello world!"; $x = 'Hello world!'; PHP 整型 整数规则: 整数必须至少有一个数字 (0-9) 整数不能包含逗号或空格 整数是没有小数点的 整数可以是正数或负数 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。 var_dump( '参数1(必填参数)' , 参数n" ); $a = array(1, 2, 3, array("a", "b", "c")); var_dump($a);/*输出部分:array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } } */var_dump() 方法,判断一个变量的类型与长度,并输出变量的数值,如果变量有值,则输出是变量的值,并返回数据类型。显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
PHP 浮点型 浮点数是带小数部分的数字,或是指数形式(如2.4e3表示2.4*10^3=2400)。 var_dump($x);//会返回float(2400)PHP 布尔型 布尔型可以是 TRUE 或 FALSE。 $x=true; $y=false;PHP 数组 PHP 数组 $a = array(1, 2, 3, array("a", "b", "c")); var_dump($a); /*输出部分:array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } }*/ PHP 对象 对象数据类型也可以用于存储数据。 在 PHP 中,对象必须声明。 首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。 然后我们在类中定义数据类型,然后在实例化的类中使用数据类型: <?php class Car { var $color; function __construct($color="green") { $this->color = $color; } function what_color() { return $this->color; } } ?>https://www.runoob.com/try/showphp.php?filename=demo_datatypes_object 以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。
PHP NULL 值 NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。 NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。 可以通过设置变量值为 NULL 来清空变量数据: <?php $x="Hello world!"; $x=null; var_dump($x);//输出结果为NULL ?>