PHP--常量如何取值
(1)使用常量名直接获取(2)用constant(string constant_name)函数返回一个值
PHP--常量是否被定义
“Constant XXX already defined”警告:常量已被定义
用defined()函数判断常量是否被定义,bool defined(string constants_name) 返回boolean类型
PHP--赋值运算符
& 引用赋值,两个变量共享一块内存,如果内存存储的数据变了,那么两个变量值都变。
PHP--比较运算符
== 等于
=== 全等于 值相同,类型也相同
!= , <> 不等
!== 非全等,值不等或者类型不同
三元运算符(“?:”)对于表达式(e1)?(e2):(e3);e1值为true,则表达式值为e2,否则为e3;
PHP--逻辑运算符
and 、&& 与 or、||或 xor异或 !非
PHP--连接符
. 和 .=
PHP--错误控制运算符
@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;
如果激活了track_error(在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量每次出错都会被覆盖。
@不会屏蔽解析错误的信息,不能把它放在函数或定义之前,也不能用于条件结构
foreach()
不取下标:foreach(数组 as 值) 取下标:foreach(数组 as 下标 =>值)
数组
基本和java差不多
array(“”,””);
array(“1”=>”mm”);
print_r();输出数组键及值
对象
$car = new Car();声明对象 也可以用变量创建$cName=’Car’;$car=new $cName();
echo $car->getName();调用对象
静态属性调用方法 ::
对象属性
public protected private
构造函数和析构函数
构造函数_construct()
析构函数_destruct() 当某个对象的所有引用被删除,或对象被显示销毁时会执行的函数;
下午在农机局参与项目的讨论与学习。
PHP方法的重载
通过__call来实现,当调用不存在的方法时,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载
属性的重载
通过__set,__get,__isset,__unset分别实现对不存在的属性赋值、读取、判断属性是否设值、销毁属性。
PHP对象复制
关键字__clone赋值一个对象,和原对象没有关系。
serialize对象序列化 unserialize反序列化为对象
正则表达式匹配模式
分隔符/ # ~
如果模式中包含分隔符,则分隔符需要用反斜杠进行转义/http:\/\// 目标是http://
模式中有较多的分隔符则换其它字符为分隔符,或者用preg_quote进行转义
$p=’http://’; $p=’/’.preg_quote($p,’/’).’/’;
元字符与转义
常用的元字符:\一般用于转义字符 ^断言目标的开始位置(或在多行模式下是行首) $断言目标的结束位置(或在多行模式下是行尾) .匹配除换行符之外的任何数字 [开始字符类定义 ]结束字符类定义 |开始一个可选分支
(子组的开始标记 )子组的结束标记 ?作为量词,表示0次或1次匹配。位于量词后面用于改变量词的贪婪特性。 *量词,0次或多次匹配 +量词,1次或多次匹配 {自定义量词开始标记 }自定义量词结束标记
+贪婪模式:尽可能多地匹配 ?懒惰模式:尽可能少地匹配
\w 字母 \d 数字
preg_match只能匹配一次结果,
preg_match_all循环获取一个列表的匹配结果数组;$matches[0]保存完整的所有匹配,$matches[1]中保存第一个子组的所有匹配,以此类推;
preg_replace() 替换
农机局项目agr_refer_relation_expression表的构建,agr_refer_relation表中“农作物总种植面积” 有七条记录很难区分,通过is_ts字段判断出总的那个数据是哪个。