PHP基础
PHP基础
PHP变量
$x=5
- 不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。
- 变量以 $ 符号开始,后面跟着变量的名称
- 声明全局变量 global(同python)
PHP echo 和 print
echo 和 print 区别:
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1
PHP EOF
定界符,end of file
PHP类型比较
- 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
- 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
PHP常量
1、设置常量,使用 define() 函数,函数语法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:
- name:必选参数,常量名称,即标志符。
- value:必选参数,常量的值。
- case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
2、定义使用 const 关键字,使用常量的时候不使用 $ 符号
const constant = '常量值'
PHP符号
- .(点)拼接字符串
- 三元运算
(expr1) ? (expr2) : (expr3)
- expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
- 组合比较符
$c = $a <=> $b;
- 如果 $a > $b, 则 $c 的值为 1。
- 如果 $a == $b, 则 $c 的值为 0。
- 如果 $a < $b, 则 $c 的值为 -1。
- -> 对象调用方法或属性
- => 数组key和value的对应关系,获取key对应的value
- :: 访问静态、const常量和类中重写的属性与方法。
$a ?? 0
等同于isset($a) ? $a : 0
。
$a ?: 0
等同于$a ? $a : 0
。
PHP数组
- 自动分配 ID 键(ID 键总是从 0 开始):
$cars=array("Volvo","BMW","Toyota");
- 给数组value指定键
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
PHP命名空间
命名空间通过关键字namespace 来声明
namespace MyProject;
namespace MyProject\Sub\Level; //声明分层次的单个命名空间
使用use操作符导入/使用别名
use My\Full\Classname as Another;
PHP面向对象
声明类属性或方法为 static(静态)
静态变量和函数被访问使用 self::
其他方法和变量用 this
PHP表单
$_GET 变量
$_GET 变量用于收集来自 method="get" 的表单中的值
http://www.runoob.com/welcome.php?fname=Runoob&age=3
echo $_GET["fname"]
$_POST 变量
$_POST 变量用于收集来自 method="post" 的表单中的值。
PHP进阶
PHP过滤器
如需过滤变量,使用过滤器函数:
- filter_var() - 通过一个指定的过滤器来过滤单一的变量
- filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
- filter_input - 获取一个输入变量,并对它进行过滤
- filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
PHP函数
- strval() , 获取变量的字符串值
- isset()
- 若变量存在且值不为NULL,则返回 TURE
- 若变量存在且其值为NULL,也返回 FALSE
- 若变量不存在则返回 FALSE
- empty()
- 若变量不存在则返回 TRUE
- 若变量存在且其值为""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
- 若变量存在且值不为""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
- current() 函数返回数组中的当前元素的值。
每个数组中都有一个内部的指针指向它的"当前"元素,初始指向插入到数组中的第一个元素。
提示:该函数不会移动数组内部指针
- unset() 销毁变量或数组元素
unset ($var);
unset ($arr['a']);// 销毁单个数组元素
- implode() 把数组元素组合为字符串
- 数组转对象 (object)
$val2 = (object)$val