php学习零散笔记—字符串分割、fetch函数和单双引号。,fetch双引号_PHP教程
php学习零散笔记—字符串分割、fetch函数和单双引号。,fetch双引号
1 字符串分割——split()函数和preg_split()函数
split — 用正则表达式将字符串分割到数组中——貌似PHP5.3以上已不赞成使用
array split ( string $pattern , string $string [, int $limit ] )
preg_split — 通过一个正则表达式分隔字符串
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
相同点:都是用正则表达式来分割字符串。
split()用起来更简单,比如分割"2008-12-16 15:48:12",split可以这么写split(['- :'])
而preg_split()要复杂些,就得这么写preg_split("/[\s-:]/")
原因是:split()只支持POSIX风格的正则表达式,而preg_split只支持Perl风格的正则表达式
POSIX风格要比Perl风格的简单,但它不是二进制安全的
对了,还有个explode(),和上面两个函数不同,它是用字符串来分割字符串。
array explode ( string $delimiter , string $string [, int $limit ] )
使用一个字符串分割另一个字符串
注:网上有好多二进制安全的解释,我感觉下面这个解释对于理解上面那句话有帮助:
二进制安全的函数只关心二进制化的字符串,不关心字符串的具体格式,它只会严格的按照二进制的数据进行存取,不会以某种特殊格式解析数据。
2 mysqli::fetch_array 和mysqli::fetch_row的区别
mysqli_result::fetch_row()
从结果集中取得一行作为枚举数组
mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
从结果集中取得一行作为关联数组,或数字数组,或二者兼有
手册说两者性能貌似没有太大的区别,前者是后者的增强版。
3 单引号和双引号
php的两种字符串类型,单引号和双引号。
单引号的字符串是纯文本(真正的文本),它会不经修改而直接发送给浏览器,不管是变量名称还是其它任何文本。
双引号的字符串,php会尝试计算双引号字符串,其中的变量名称将被变量值所代替。
在这里,变量、字符串、文本和原始数据的概念不能混淆:
变量是表示数据的符号,变量用变量名称表示,表示数据的符号
而单引号的字符串则是文本,本身(字面值)就是原始数据
关键是理解文本和变量的区别,文本是数据,变量是数据的符号。
可以看看《PHP和MySQL Web开发(原书第4版)》中文版第12页对于字符串的介绍。
参考:
《PHP和MySQL Web开发(原书第4版)》中文版第12页,Luke Welling & Laura Thomson著
php二进制字符串的含义 http://www.lofter.com/postentry?from=search&permalink=139418_34c583
知乎:二进制安全是什么意思? http://www.zhihu.com/question/28705562

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸
