为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
PHP进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
  • <?php $i='I'; $love=' Love'; $you=' You'; //连接一下三个字符串 echo $i.$love.$you; ?>
    查看全部
    0 采集 收起

    2018-03-22

  • function_exists():判断函数是否存在。 method_exists():判断类的方法是否存在。 class_exists():判断类是否定义。 file_exists():判断文件是否存在。
    查看全部
    0 采集 收起

    2016-09-23

  • class Truck extends Car{ public function speedUp(){ $this->speed=parent::speedUp() + 50; return $this->speed; } }
    查看全部
  • 所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参数来调用不同的函数。可变函数的调用方法为变量名加括号。 function name() { echo 'jobs'; } $func = 'name'; $func(); //调用可变函数 可变函数也可以用在对象的方法调用上。 class book { function getName() { return 'bookname'; } } $func = 'getName'; $book = new book(); $book->$func();
    查看全部
    0 采集 收起

    2018-03-22

  • 贪婪模式与懒惰模式 正则表达式中每个元字符匹配一个字符,当使用+之后将会变的贪婪,它将匹配尽可能多的字符,但使用问号?字符时,它将尽可能少的匹配字符,既是懒惰模式。 贪婪模式:在可匹配与可不匹配的时候,优先匹配 //下面的\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 当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数 $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 '匹配成功'; } 元字符具有两种使用场景,一种是可以在任何地方都能使用,另一种是只能在方括号内使用,在方括号内使用的有: \ 转义字符 ^ 仅在作为第一个字符(方括号内)时,表明字符类取反 - 标记字符范围 其中^在反括号外面,表示断言目标的开始位置,但在方括号内部则代表字符类取反,方括号内的减号-可以标记字符范围,例如0-9表示0到9之间的所有数字。 //下面的\w匹配字母或数字或下划线。 $p = '/[\w\.\-]+@[a-z0-9\-]+\.(comcn)/'; $str = "我的邮箱是Spark.eric@imooc.com"; preg_match($p, $str, $match); echo $match[0];
    查看全部
    0 采集 收起 来源:元字符与转义

    2018-03-22

  • 正则表达式的基本语法 PCRE库函数中,正则匹配模式使用分隔符与元字符组成,分隔符可以是非数字、非反斜线、非空格的任意字符。经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~),例如: /foo bar/ #^[^0-9]$# ~php~ 如果模式中包含分隔符,则分隔符需要使用反斜杠(\)进行转义。 /http:\/\// 如果模式中包含较多的分割字符,建议更换其他的字符作为分隔符,也可以采用preg_quote进行转义。 $p = 'http://'; $p = '/'.preg_quote($p, '/').'/'; echo $p; 分隔符后面可以使用模式修饰符,模式修饰符包括:i, m, s, x等,例如使用i修饰符可以忽略大小写匹配: $str = "Http://www.imooc.com/"; if (preg_match('/http/i', $str)) { echo '匹配成功'; }
    查看全部
  • 数组打印函数print_r($arr);
    查看全部
    0 采集 收起

    2016-09-23

  • 字符串的合并与分割 1、php字符串合并函数implode() 函数说明:implode(分隔符[可选], 数组) 返回值:把数组元素组合为一个字符串 例子: $arr = array('Hello', 'World!'); $result = implode('', $arr); print_r($result);//结果显示Hello World! 2、php字符串分隔函数explode() 函数说明:explode(分隔符[可选], 字符串) 返回值:函数返回由字符串组成的数组 例子: $str = 'apple,banana'; $result = explode(',', $str); print_r($result);//结果显示array('apple','banana')
    查看全部
    0 采集 收起

    2016-09-23

  • __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(),__unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(),__clone() 和 __debugInfo() 等方法在 PHP 中被称为"魔术方法 魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,利用模式方法可以轻松实现PHP面向对象中重载
    查看全部
    0 采集 收起

    2018-03-22

  • 查找字符串,我们需要用到PHP的查找字符串函数strpos(); 函数说明:strpos(要处理的字符串, 要定位的字符串, 定位的起始位置[可选]) 替换字符串,我们需要用到PHP的替换函数str_replace() 函数说明:str_replace(要查找的字符串, 要替换的字符串, 被搜索的字符串, 替换进行计数[可选]) 如果有一个字符串$str = '99.9';,怎么样使这个字符串变成99.90呢? 我们需要用到PHP的格式化字符串函数sprintf() 函数说明:sprintf(格式, 要转化的字符串) 返回:格式化好的字符串 这个 %01.2f 是什么意思呢? 1、这个 % 符号是开始的意思,写在最前面表示指定格式开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。 2、跟在 % 符号后面的是 0, 是 "填空字元" ,表示如果位置空着就用0来填满。 3、在 0 后面的是1,这个 1 是规定整个所有的字符串占位要有1位以上(小数点也算一个占位)。     如果把 1 改成 6,则 $result的值将为 099.90     因为,在小数点后面必须是两位,99.90一共5个占位,现在需要6个占位,所以用0来填满。 4、在 %01 后面的 .2 (点2) 就很好理解了,它的意思是,小数点后的数字必须占2位。 如果这时候,$str 的值为9.234,则 $result的值将为9.23.     为什么4 不见了呢? 因为在小数点后面,按照上面的规定,必须且仅能占2位。 可是 $str 的值中,小数点后面占了3位,所以,尾数4被去掉了,只剩下 23。 5、最后,以 f "转换字符" 结尾
    查看全部
    0 采集 收起

    2018-03-22

  • PHP中有三个函数可以去掉字符串的空格 trim去除一个字符串两端空格。 rtrim是去除一个字符串右部空格,其中的r是right的缩写。 ltrim是去除一个字符串左部空格,其中的l是left的缩写。
    查看全部
    0 采集 收起

    2016-09-23

  • 单引号和双引号到底有啥区别呢? PHP允许我们在双引号串中直接包含字串变量。 而单引号串中的内容总被认为是普通字符。
    查看全部
    0 采集 收起

    2016-09-23

  • php 中的 heredoc技术是php用来引用字符串的一种方式。在phpwind中巧妙的运用了这个技术,实现了逻辑代码和界面设计的分离。 语法:   1. 使用操作符  “<<<” 2. 操作符后紧跟标识符(开始标识符),之后重起新的一行 输入要引用的字符串,可以包含变量。 3. 新的一行,顶格写结束表示符,以分号结束。 要注意到几点:   1.标识符可以自定义 一般的 有EOT ,EOD  EOF 等, 只有保持开始表示符和结束表示符一样即可。 2.结束表示符必须独占一行,且必须顶格写,最后以 ‘;’ 分号结尾。 3.所有引用的字符串中可以包含变量,无需字符串连接符。 <?php $str = <<<ET heredoc test!!!   ET; echo $str; ?>   输出结果  heredoc test!!!
    查看全部
    2 采集 收起

    2018-03-22

  • 对象的高级特性 对象比较,当同一个类的两个实例的所有属性都相等时,可以使用比较运算符==进行判断,当需要判断两个变量是否为同一个对象的引用时,可以使用全等运算符===进行判断。 class Car { } $a = new Car(); $b = new Car(); if ($a == $b) echo '=='; //true if ($a === $b) echo '==='; //false 对象复制,在一些特殊情况下,可以通过关键字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); 对象序列化,可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。 class Car { public $name = 'car'; } $a = new Car(); $str = serialize($a); //对象序列化成字符串 echo $str.'<br>'; $b = unserialize($str); //反序列化为对象 var_dump($b);
    查看全部

举报

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

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