Php是世界上最好的语言 学习网站:https://www.w3school.com.cn/php/php_install.asp
简介
介绍
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。
PHP 脚本可放置于文档中的任何位置。 PHP 脚本以 <?php 开头,以 ?> 结尾。
大小写敏感
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。如下三条语句是等价的:
<?phpECHO "Hello World!<br>";echo "Hello World!<br>";EcHo "Hello World!<br>";?>
不过在 PHP 中,所有变量都对大小写敏感。如下只有第一条语义正确:
<?php$color="red";echo "My car is " . $color . "<br>";echo "My house is " . $COLOR . "<br>";echo "My boat is " . $coLOR . "<br>";?>
强弱类型比较
链接
掌握php弱类型比较
php中其中两种比较符号:==:先将字符串类型转化成相同,再比较===:先判断两种字符串的类型是否相等,再比较字符串和数字比较使用==时,字符串会先转换为数字类型再比较var_dump('a' == 0);//true,此时a字符串类型转化成数字,因为a字符串开头中没有找到数字,所以转换为0var_dump('a123' == 123);//false,因为php中有这样一个规定:字符串的开始部分决定了它的值,如果该字符串以合法的数字开始,则使用该数字至和它连续的最后一个数字结束,否则其比较时整体值为0。var_dump('123a' == 123);//true,这里'123a'会被转换为123var_dump('123a1' == 123);//truevar_dump('1233a' == 123);//false
注:<、>、<=、>=都存在和==相同的弱类型,原理相同!!!
变量
变量的类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
PHP 有四种不同的变量作用域: local global static parameter
local不用说,parameter是指函数的参数,也没什么提的。
全局变量
在所有函数外部定义的变量,拥有全局作用域。
如果想在函数内使用全局变量,需要使用global关键词(跟Python一样):
PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。 上面的实例可以写成这样:
Static
static跟其他语言一样,可以防止局部变量使用后被删除,保留上一次使用的值。
EOF
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。(不太理解)
注意:
对象
常用函数
var_dump() 函数用于输出变量的相关信息。
echo
echo 和 print 区别:
echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
print只允许输出一个字符串,可以使用括号,也可以不使用括号: print 或 print()。
get_object_vars — 返回由对象属性组成的关联数组
简单来说,会输出对象中各个属性值,如果某一个属性没有赋值,则会返回null值。
<?phpclass Point2D {var $x, $y;var $label;function Point2D($x, $y){$this->x = $x;$this->y = $y;}function setLabel($label){$this->label = $label;}function getPoint(){return array("x" => $this->x,"y" => $this->y,"label" => $this->label);}}// "$label" is declared but not defined$p1 = new Point2D(1.233, 3.445);print_r(get_object_vars($p1));$p1->setLabel("point #1");print_r(get_object_vars($p1));?>
输出如下:
Array([x] => 1.233[y] => 3.445[label] =>)Array([x] => 1.233[y] => 3.445[label] => point #1)
foreach
有两种语法:foreach(array_expression as $value) statement<br />foreach(array_expression as $key => $value) statement
前者就是普通的遍历,后者则是在遍历过程中还获取了键值。
$arr = array("1"=>"111","2"=>"222","3"=>"333");foreach($arr as $key=>$value){echo $key."=>".$value."\n";}输出如下:1=>1112=>2223=>333
