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

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
  • preg_match只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可以循环获取一个列表的匹配结果数组。 $p = "|<[^>]+>(.*?)</[^>]+>|i"; $str = "<b>example: </b><div align=left>this is a test</div>"; preg_match_all($p, $str, $matches); print_r($matches); 可以使用preg_match_all匹配一个表格中的数据: $p = "/<tr><td>(.*?)<\/td>\s*<td>(.*?)<\/td>\s*<\/tr>/i"; $str = "<table> <tr><td>Eric</td><td>25</td></tr> <tr><td>John</td><td>26</td></tr> </table>"; preg_match_all($p, $str, $matches); print_r($matches); $matches结果排序为$matches[0]保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推
    查看全部
  • 使用正则表达式的目的是为了实现比字符串处理函数更加灵活的处理方式,因此跟字符串处理函数一样,其主要用来判断子字符串是否存在、字符串替换、分割字符串、获取模式子串等。 PHP使用PCRE库函数来进行正则处理,通过设定好模式,然后调用相关的处理函数来取得匹配结果。 preg_match用来执行一个匹配,可以简单的用来判断模式是否匹配成功,或者取得一个匹配结果,他的返回值是匹配成功的次数0或者1,在匹配到1次以后就会停止搜索。 $subject = "abcdef"; $pattern = '/def/'; preg_match($pattern, $subject, $matches); print_r($matches); //结果为:Array ( [0] => def ) 上面的代码简单的执行了一个匹配,简单的判断def是否能匹配成功,但是正则表达式的强大的地方是进行模式匹配,因此更多的时候,会使用模式: $subject = "abcdef"; $pattern = '/a(.*?)d/'; preg_match($pattern, $subject, $matches); print_r($matches); //结果为:Array ( [0] => abcd [1] => bc ) 通过正则表达式可以匹配一个模式,得到更多的有用的数据。
    查看全部
  • 其中最常用的是文件的修改时间,通过文件的修改时间,可以判断文件的时效性,经常用在静态文件或者缓存数据的更新。 $mtime = filemtime($filename); echo '修改时间:'.date('Y-m-d H:i:s', filemtime($filename));
    查看全部
  • 更加精确的可以使用is_readable与is_writeable在文件是否存在的基础上,判断文件是否可读与可写。 $filename = './test.txt'; if (is_writeable($filename)) { file_put_contents($filename, 'test'); } if (is_readable($filename)) { echo file_get_contents($filename); }
    查看全部
  • file_get_contents也可以通过参数控制读取内容的开始点以及长度。 $content = file_get_contents('./test.txt', null, null, 100, 500); PHP也提供类似于C语言操作文件的方法,使用fopen,fgets,fread等方法,fgets可以从文件指针中读取一行,freads可以读取指定长度的字符串。 $fp = fopen('./text.txt', 'rb'); while(!feof($fp)) { echo fgets($fp); //读取一行 } fclose($fp); $fp = fopen('./text.txt', 'rb'); $contents = ''; while(!feof($fp)) { $contents .= fread($fp, 4096); //一次读取4096个字符 } fclose($fp);
    查看全部
  • //用户名必须为字母、数字与下划线,切以字母开头 if (!preg_match('/^[a-z][a-z\_0-9]+$/i', $user['name'])) { die('用户名不合法'); } //验证邮箱格式是否正确 if (!preg_match('/^[a-z0-9][a-z0-9\_\.\-]+@[a-z0-9][a-z0-9\-]+[a-z0-9]\.(\[a-z]+|[a-z]+\.[a-z]+)$/i', $user['email'])) { die('邮箱不合法');
    查看全部
  • 类是对象的描述,new来实化一个对象
    查看全部
    0 采集 收起

    2015-03-21

  • 类是一类东西的结构描述,而对象则是一类东西的一个具体实例。 对象通过new关键字进行实例化 类与对象看起来比较相似,但实际上有本质的区别,类是抽象的概念,对象是具体的实例。类可以使程序具有可重用性。
    查看全部
    0 采集 收起 来源:PHP类和对象

    2015-03-21

  • 对象包含两部分:对象的组成元素:对象的数据模型,对象的属性 对象行为
    查看全部
    0 采集 收起

    2015-03-21

  • function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。class_exists检测类是否存在。file_exists检测文件是否存在。
    查看全部
    0 采集 收起

    2015-03-21

  • 内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。 str_replace可以实现字符串的替换:(可以只换一部分) 格式i:str_replace('被替换字符','用此字符替换','被操做的字符串或字符串变量')
    查看全部
    0 采集 收起

    2015-03-21

  • function name(){} function func(){} $func ='name' $func() $func = 'func' $func();
    查看全部
    0 采集 收起

    2015-03-21

  • $arr['apple']='苹果' array('apple'=>'苹果') arr[0]=苹果; array('0'=>'苹果'); array('苹果');
    查看全部
  • arr[0] arr["0"] arr['0']
    查看全部
  • 检测变量是否设置用isset() 若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 当要 判断一个变量是否已经声明的时候 可以使用 isset 函数 当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数 当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数 检测常量是否设置用defined()
    查看全部

举报

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

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