首页>>技术前沿>>网站优化及SEO
PHP如何将二维数组转换成一维的?
作者:西安网站建设 | 原创 来源:上海天天彩选四单双 | 时间:2018年1月10日| 点击:0次 | 【评论】

上海天天彩选四单双 www.9xvq4.cn PHP如何将二维数组转换成一维的?

 

在使用php时候,我们经常要进行sql查询,而从数据库查询出来的往往是这个结构的:

Array

(

    [0] => Array (

            [score] => 100

        )

    [1] => Array (

            [score] => 98    

   )

    [2] => Array (

            [score] => 70

        )

    [3] => Array (

            [score] => 86

        )

)

这时候我们需要取出其中的id ,如果使用for循环或者foreach需要两层,这种操作未免有些麻烦,这时候我们可以用array_column()这个函数,array_column接受两个参数,第一是需要转换的二维数组,第二个是想要保留的键名,比如我们需要的结果是这样的:

Array

(

[0] =>  100

[1]  =>98      

[2]   =>70  

[3]  =>86  

)

只需要array_column($arr,”score”)就可以了,但是有个问题。这个函数只支持php版本在5.5以上的,如果用户的php版本太低怎么办的,这里有一个自定义的函数,是模拟这个函数的功能,仅供参考:

//二维转一维


function i_array_column($input, $columnKey, $indexKey = null) {

$columnKeyIsNumber = (is_numeric($columnKey)) ? true : false;
        $indexKeyIsNull = (is_null($indexKey)) ? true : false;
        $indexKeyIsNumber = (is_numeric($indexKey)) ? true : false;
        $result = array();
        foreach ((array) $input as $key => $row) {
            if ($columnKeyIsNumber) {
                $tmp = array_slice($row, $columnKey, 1);
                $tmp = (is_array($tmp) && !empty($tmp)) ? current($tmp) : null;
            } else {
                $tmp = isset($row[$columnKey]) ? $row[$columnKey] : null;
            }
            if (!$indexKeyIsNull) {
                if ($indexKeyIsNumber) {
                    $key = array_slice($row, $indexKey, 1);
                    $key = (is_array($key) && !empty($key)) ? current($key) : null;
                    $key = is_null($key) ? 0 : $key;
                } else {
                    $key = isset($row[$indexKey]) ? $row[$indexKey] : 0;
                }
            }
            $result[$key] = $tmp;
        }
        return $result;

}

 

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: PHP二维数组 
0 ([$-顶稿人数-$])
0 ([$-踩稿人数-$])

版权声明:

1、西安弈聪网站内容中凡注明“来源:XXX(非西安弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“西安弈聪”的作品系本站版权所有,任何人转载请署名来源,否则西安弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。

  • Premier de China ofrece rueda de prensa Spanish.xinhuanet.com 2018-12-11
  • 当你还在担心这些问题的时候,有个人的“自由发展”吗? 2018-12-11
  • 变相“现金贷”重出江湖 利率畸高个别超过1000% 2018-12-10
  • 十二生肖的起源与传说:你又知道多少? 2018-12-10
  • 加强党对反腐败工作的集中统一领导 2018-12-10
  • 回复@大雨582:所有的人都成标准件了? 2018-12-09
  • 2018中国双一流大学专业排行榜发布 清华大学位列第一 2018-12-09
  • 民生 —频道 春城壹网 七彩云南 一网天下 2018-12-08
  • 吐鲁番哈密瓜飘香疆外 2018-12-08
  • 华谊兄弟:《手机2》正常拍摄中 影片直指人心影片华谊兄弟-大陆 2018-12-08
  • 《这就是铁甲》迎来总决赛 郑爽放手一搏 2018-12-07
  • 高级需求不是物质需求,而是精神需求。你可能理解不了,为什么方志敏们面对高官,厚禄的诱惑而其志不改。 2018-12-07
  • 西媒曝“特金会”细节与即兴时刻:两人对视13秒 2018-12-07
  • 壮观!150余位画师共绘梵高《星月夜》 2018-12-06
  • 加大对遗产地生态保护修复力度 2018-12-06
  • 510| 165| 691| 905| 407| 905| 203| 570| 289| 841|