众人拾柴火焰高。 --谚语
开始之前,我们得明确一个事情,PHP的系统函数运行效率要比自己写的自定义函数的效率要高。
函数json_decode
写API的时候这个函数使用概率超级高,不过用不好,就会产生悲剧。。。注意它还有第二个参数。
<?php
json_decode($jsonStr, true);
函数foreach
这是一个遍历数组的函数使用的频率可以说90%以上。那么这样一个函数该怎么用呢?看下面两段代码,作用都是将数组中每个值分别加一,那么这样的两种处理方式哪个好呢?我的建议是,如果$arr被foreach处理后得到的新的$arr就是你最后想要的结果,那么建议用第二种,因为代码显得更加精简。反之,如果你处理后的$arr并不是最后的结果,还需要进行处理,建议用第一种,原因也很容易发现,只要你var_dump($arr);比较下两种方式得到的结果,就一目了然!
<?php
foreach( $arr as $key => $value ){
$arr[$key] = $value + 1;
}
foreach( $arr as &$value ){
$value = $value + 1;
}
函数array_column
提取二维数组中的指定字段,组成一个新的一维数组。巨好用!
<?php
$records = array(
array(
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
)
);
$first_names = array_column($records, 'first_name');
print_r($first_names);
//输出
Array
(
[0] => John
[1] => Sally
[2] => Jane
[3] => Peter
)
函数array_intersect_assoc
该函数是比较数组的区别的,键和值都比较,但是让人郁闷的是,在遇到数据类型不一致的情况的时候,它并没有认为这两个值不一样,而是将两边的值强制转换成字符串去比较。。。
函数shuffle、array_push
这两个函数的返回值并不是修改后的数组。看清楚喽!!!
函数trim、rtrim、ltrim
用于去除字符串两头的字符的,注意是字符!!
<?php
$str = "Ab123456ABC";
$newStr = trim($str,'ABC');
echo $str;
//输出的结果是b123456
最后说两句,像这样的细节还是有很多的,平常没有细心的收集下来真是太可惜了,有时候这些东西,不知道还真是会出现很多让人无语的错误
本文由 陌上花开 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Jul 1, 2016 at 06:21 am
感谢分享,有些细节还真是没注意到。
一个问题,