为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
  • mysql_query($sql); 这行代码都没输入就让我通过了??!!
    查看全部
  • 我居然连打印换行都不会,这学的真“扎实”。
    查看全部
  • 正则表达式之贪婪模式与懒惰模式 1、正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。 2、贪婪模式:在可匹配与不匹配的时候,优先匹配 例: //下面的\d表示匹配数字 $p = '/\d+\-\d+/'; $str = "我的电话是010-12345678"; preg_match($p,$str.$match); echo $match[0];//结果为:010-12345678 3、懒惰模式:在可匹配与不匹配的时候,优先不匹配 $p = '/\d?\-\d?/'; $str = "我的电话是010-12345678"; preg_match($p,$str,$match); echo $match[0];//结果为:0-1 4、当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数 例: $p = '/\d{3}\-\d{8}/'; $str = "我的电话是010-12345678"; preg_match($p,$str,$match); echo $match[0]; //结果为:010-12345678
    查看全部
  • 正则表达式之元字符与转义 正则表达式中具有特殊含义额字符称之为元字符,常用的元字符有: \ 一般用于转义字符 ^ 断言目标的开始位置(或在多行模式下是行首) $ 断言目标的结束位置(或在多行模式下是行尾) . 匹配除换行符外的任何字符(默认) [ 开始字符类定义 ] 结束字符类定义 | 开始一个可选分支 ( 子组的开始标记 ) 子组的结束标记 ? 作为量词,表示0次或者1次匹配。位于量词后面用于改变量词的贪婪特性。(查阅量词) * 量词,0次或多次匹配 + 量词,1次或多次匹配 { 自定义量词开始标记 } 自定义量词结束标记 //下面的\s匹配任意的空白符,包括空格,制表符,换行符。[^\s]代表非空白符。 [^\s]+表示一次或多次匹配非空白符。 $p = '/^我[^\s]+(苹果|香蕉)$/'; $str = "我喜欢吃苹果"; if(preg_match($p,$str)){ echo '匹配成功'; } 1、元字符具有两种使用场景,一种是可以在任何地方都能使用,另一种是只能在方括号内使用,在方括号内使用的有: \ 转义字符 ^ 仅在作为第一个字符(方括号内)时,表明字符类取反 - 标记字符范围 其中^在方括号外面,表示断言目标的开始位置,但在方括号内部,则代表字符类取反,方括号内的减号-可以标记字符范围,例如0-9表示0-9之间的所有数字。 例: //下面的\w匹配字母或数字或下划线 $p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/'; $str = "我的邮箱是Spark.eric@imooc.com"; preg_match($p,$str,$match); echo $match[0];
    查看全部
    0 采集 收起 来源:元字符与转义

    2018-03-22

  • 正则表达式的基本语法 1、PCRE库函数中,正则匹配模式使用分隔符与元字符组成,分隔符可以是非数字、非反斜线、非空格的任意字符。经常使用的分隔符是正斜线(/)、hash符号(#)以及取反符号(~)。 例: /foo bar/ #^[^0-9]$# ~php~ 2、如果模式中包含分隔符,则分隔符需要使用反斜杠(\)进行转义。 例:/http:\/\// 3、如果模式中包含较多的分割字符,建议跟换其他的字符作为分隔符,也可以采用preg_quote进行转义。 $p = 'http://'; $p = '/'.preg_quote($p,'/').'/'; echo $p; 4、分隔符后面可以使用模式修饰符,模式修饰符包括:i,m,s,x等,例如使用i修饰符可以忽略大小写匹配。 例: $str = "Http://www.imooc.com/"; if(preg_match('/http/i',$str)){ echo '匹配成功'; }
    查看全部
  • preg_match只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可以循环获取一个列表的匹配结果数组。
    查看全部
  • 【1】$p = '/name:([\w\s\d]+):([\w\d\s]+)/'; $str = "name:ste12ven jobs:12s d54"; preg_match($p, $str, $match); echo $match[1]; //结果为:12s d54 【2】$p = '/name:([\w\s\d]+):([\w\d\s]+)/'; $str = "name:ste12ven jobs:12s d54"; preg_match($p, $str, $match); echo $match[1];//结果为ste12ven jobs 注释:那个括号类似于分段用,最后match哪一段用match【1,0,2】来显示
    查看全部
  • \w匹配字母或数字或下划线 \s匹配空白符,空格,换行等 \d匹配数字
    查看全部
  • 正则表达式中具有特殊含义的字符称之为元字符,常用的元字符有: \ 一般用于转义字符 + 量词,1 次或多次匹配 - 标记字符范围 | 开始一个可选分支 ^ 断言目标的开始位置(或在多行模式下是行首) $ 断言目标的结束位置(或在多行模式下是行尾) . 匹配除换行符外的任何字符(默认) [ 开始字符类定义 ] 结束字符类定义 下面举例: 【$p = '/^我[^\s]+(苹果|香蕉)$/'; $str = "我喜欢吃苹果";】 【下面的\w匹配字母或数字或下划线 $p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/'; $str = "我的邮箱是Spark.eric@imooc.com";】
    查看全部
    0 采集 收起 来源:元字符与转义

    2018-03-22

  • 我居然把答案放在第九行,真是蛋疼
    查看全部
  • var_dump这个东西还能输出这么多东西
    查看全部
  • 正则表达式 1、正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串,称之为正则匹配模式。 例: $p = '/apple/'; $str = "apple banna"; if(preg_match($p,$str)){ echo 'matched'; } 2、其中字符串'/apple/'就是一个正则表达式,他用来匹配字符串中是否存在apple字符串。 3、PHP中使用PCRE库函数进行正则匹配,比如上例中的preg_match用于执行一个正则匹配,常用来判断一类字符模式是否存在。
    查看全部
  • PHP类和对象之对象的高级特性 1、对象比较。当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断。 例: class Car{ } $a = new Car(); $b = new Car(); if ($a == $b) echo '=='; //true if ($a === $b) echo '===';//false 2、对象复制。在一些特殊情况下,可以通过关键字clone来复制一个对象,这时__clone方法会被调用,通过这个魔术方法来设置属性的值。 class Car{ public $name = 'car'; public function __clone(){ $obj = new Car(); $obj->name = $this->name; } } $a = new Car(); $a->name = 'new car'; $b = clone $a; var_dump($b); 3、对象序列化。可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。 例: class Car{ public $name = 'car'; } $a = new Car(); $str = serialize($a); //对象序列化成字符串 echo $str.'<br>'; $b = unserialize($str); //反序列化为对象 var_dump($b);
    查看全部
  • extents关键字 实现继承 子类调用父类的属性 $this->name 子类调用父类的方法 parent::func();
    查看全部
  • 访问控制 访问控制通过关键字public,protected和private来实现。 被定义为公有的类成员 可以在任何地方被访问。 被定义为受保护的类成员 则可以被其自身以及其子类和父类访问。 被定义为私有的类成员 则只能被其定义所在的类访问。 类属性必须定义为公有、受保护、私有之一。 注:为兼容PHP5以前的版本,如果采用 var 定义,则被视为公有。 class Car { $speed = 10; //错误 属性必须定义访问控制 public $name; //定义共有属性 } 类中的方法可以被定义为公有、私有或受保护。 注:如果没有设置这些关键字,则该方法默认为公有。 如果构造函数定义成了私有方法,则不允许直接实例化对象了,这时候一般通过静态方法进行实例化,在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。 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(); //通过静态方法来获得一个实例
    查看全部

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!