PHP-php多维数组降维

项目合作 项目合作 主题:1030 回复:2135

PHP-php多维数组降维

想挽留 发布于 2017-06-19 字数 1710 浏览 1282 回复 2

话说tp的查询,
大家用过的都应该清楚tp-select()出来是二维数组,
例:php有没有自带的的函数将其转换成一维数组,而不是用foreach来循环?
我这里为什么不想用foreach呢!因为数据量太大了,上万条的数据循环起来可能没发用!

array (size=10)
1 =>
array (size=11)
0 => string '终端编码' (length=12)
1 => string '积分' (length=6)
2 => string '姓名' (length=6)
3 => string '终端名称' (length=12)
4 => string '固定电话' (length=12)
5 => string '手机' (length=6)
6 => string '电子邮件' (length=12)
7 => string 'QQ' (length=2)
8 => string '邮编' (length=6)
9 => string '联系地址' (length=12)
10 => string '省区' (length=6)
2 =>
array (size=11)
0 => string '7108' (length=4)
1 => string '0' (length=1)
2 => string 'xxx' (length=6)
3 => string '济南高新技术产业区孙村镇辛庄卫生室' (length=51)
4 => string 'xxxxx' (length=8)
5 => null
6 => null
7 => null
8 => string '' (length=0)
9 => string '0' (length=1)
10 => string '山东D1区' (length=11)
3 =>
array (size=11)
0 => string '6588' (length=4)
1 => string '0' (length=1)
2 => string 'xxx' (length=9)
3 => string '01080018诸城市九台镇惠民药店' (length=38)
4 => string 'xxxx' (length=7)
5 => null
6 => null
7 => null
8 => string '' (length=0)
9 => string '0' (length=1)
10 => string '山东D1区' (length=11)

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

归属感 2017-07-08 2 楼

可能你问题描述的不太清楚,如果按你这样的降一维那后面的键值会把前面的覆盖的,如果不覆盖的话你操作这数据的时候肯定也不方便了,因为你不知道降维后的数据结构顺序了,php操作一两万的数组循环还是挺快的,比读取这么多的数据时候还短,我不知道你一次取这么多的数据是干嘛用的,尽量避免这么大的数据请求吧,请求量大了肯定出问题,如果是计算统计计算什么的你可以定期计算缓存,取数据的时候走缓存会好一些

灵芸 2017-06-29 1 楼

/**

  • 获取记录集中某列的所有值(完成二维到一维的转换)

  • @param array $array

  • @param string $field

  • @return mixed
    */
    function kg_array_values($array, $field)
    {
    if (empty($array) || !is_array($array))
    {
    return null;
    }

    $result = array();
    foreach ($array as $value)
    {
    if (isset($value[$field]))
    {
    $result[] = $value[$field];
    }
    }
    return $result;
    }