-
在php中数组分两种:索引数组,关联数组
索引数组:数组的键是整数,键开始的位置是0
$fruit = array("苹果","香蕉","菠萝");
关联数组:数组的键自定义
$fruit = array(apple->"苹果",banane->"香蕉");
可以使用函数print_r($fruit);输出数组的键以及对应的值
查看全部 -
在php中使用方法array();创建数组
$arr = array();
查看全部 -
构造函数:__construct
析构函数:__destruct
查看全部 -
$str=""后面的东西 动态加载
preg_match()是匹配函数
查看全部 -
$p='/表达式/'
正则表达式
查看全部 -
1.if($a==$b) echo '==' 判断是否相同
2.if($a===$b) echo '===' 判断地址空间
3.在这里用$this可以表示clone出来的另一个类, 可以通过$this->classname = clone $this->classname实现深拷贝
4.把本身的name属性的值 赋给 新的对象$obj的name,也就是_clone方法的使用,复制效果
查看全部 -
class Car { private function __construct() { echo 'object create'; } private static $_object = null; public static function getInstance() { if (empty(self::$_object)) { self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象 } return self::$_object; } } //$car = new Car(); //这里不允许直接实例化对象 $car = Car::getInstance(); //通过静态方法来获得一个实例
查看全部 -
如果构造函数定义成了私有方法,则不允许直接实例化对象了,这时候一般通过静态方法进行实例化,在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。
查看全部 -
被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。
查看全部 -
在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用。
查看全部 -
静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::
查看全部 -
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只是除了当前单元的值以外,键值也会在每次循环中被赋给变量 $key查看全部 -
贪婪模式与懒惰模式
贪婪模式:在可匹配与可不匹配的时候优先匹配
//下面的\d表示匹配数字 $p = '/\d+\-\d+/'; $str = "我的电话是010-12345678"; preg_match($p, $str, $match); echo $match[0]; //结果为:010-12345678
懒惰模式:
在可匹配与可不匹配的时候,优先不匹配
$p = '/\d?\-\d?/'; $str = "我的电话是010-12345678"; preg_match($p, $str, $match); echo $match[0]; //结果为:0-1
查看全部 -
正则表达式中具有特殊含义的字符称为元字符,常用元字符:
\ 一般用于转义字符 ^ 断言目标的开始位置(多行模式下是行首) $ 断言目标的结束位置(多行模式下是行尾) . 匹配除换行符外的任意字符 [ 开始字符类定义 ] 结束字符类定义 | 开始一个可选分支(和逻辑运算或是一样的) ( 子组的开始标记 ) 子组的结束标记 ? 作为量词,表示匹配0或1次 * 量词,表示匹配0次或多次 + 量词,表示匹配1次或多次 { 自定义量词开始标记 } 自定义量词结束标记
查看全部 -
PCRE库中正则匹配使用分隔符与元字符组成,分隔符可以撒非数字非反斜线非空格的任意字符。
经常使用的分隔符是正斜线(/)、hash符号(#)以及取反符号(~)
若模式中包含分割符号,则需要使用反斜杠(\)进行转义
若模式中包含较多分隔符,建议更换其他字符作为分隔符,也可以采用preg_quote进行转义
分割符后面合一使用模式修饰符,模式修饰符包括:i,m,s,x等
i 正则匹配是不区分大小写 m 将字符串视为多行。默认正则开始“^”和结束“$”将目标字符串作为一行(包含里面的换行符),加上改修饰符将指定每一行开始都是“^”结束都是“$” s 设定了次修饰符,被匹配的字符串将视为一行来看,包括换行符,换行符将被视为普通字符串 x 忽略空白,除非进行转义的不会被忽略 e 只用在preg_replace()函数中,在替换字符串中逆向引用做正常的替换,将其(即“替换字符串”)作为PHP代码求值,并用其结果来替换所搜索的字符串。 A 如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。比如说”/a/A”匹配”abcd”。 D 模式中的$字符权匹配目标字符的结尾。没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前。如果设定了修正符m则忽略此项。 E 与”m”相反,如果使用这个修饰符,那么”$”将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。 U 贪婪模式,和问号的作用差不多,最大限度的匹配就是贪婪模式。
查看全部
举报