php对数组操作并返回一个新的数组

我们经常会对数据库中查询的数据进行一些列处理之后再返回这个数据,而经常用到的就是对数组处理之后再返回给前台,在laravel中我们经常用到这些:

//假设有个数组$array,我们需要对数组中的每一项的属性name进行截取之后再返回。
$arrays = array_map(function($array){
                    $array->name = mb_substr($array->name,-2);
                    return $array;
                }, $arrays);
//可以看出,首先把数组循环出来的每一项$array传递给了array_map()函数;
//然后,我把数组每一项的name进行了截取并赋值给了$array->name;
//array_map()函数处理完之后形成了一个新的数组,我把这个数组赋值给了原来的数组;

在上面这个代码片段中,有亮点需要注意的地方:

1.array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。
回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
提示:您可以向函数输入一个或者多个数组

语法:array_map(myfunction,array1,array2,array3...)

2.php用substr截取中文时经常会出现乱码,因为utf-8下汉字是3字节的,如果截取长度正好是3的倍数应该不会出现乱码,可是如果你要截取的字符串中有空格,或者其他字符(比如 “ ”),也会出现乱码。
当然,php会给出官方的解决办法。mb_substr 和 mb_strcut,需要在php.ini中打开php_mbstring.dll.

<?php   
    echo mb_substr("这里没有乱码!",0,3,"utf-8");
    //视为字符流
?>
<?php
    echo mb_strcut("这里没有乱码!",0,3,"utf-8");
    //视为字节流,utf-8下一个汉字三个字节
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 5,265评论 0 20
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 6,200评论 1 24
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 9,773评论 0 6
  • PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来...
    梦幻_78af阅读 6,464评论 1 10
  • 每次假期,离开学校回到家里,总会遇见曾经熟悉的地方,还有,曾经熟悉的人。家,有时候不仅仅是你身边的人还有身边的环境...
    木笔筏阅读 2,622评论 0 0

友情链接更多精彩内容