首页>>技术前沿>>网站优化及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、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。

  • 广东警方摧毁全国首例“呼死你”专案犯罪团伙 2019-04-20
  • 团市委组织召开区块链发展座谈会 助力西安打造“区块链之都” 2019-04-20
  • 内蒙古100个最美观景拍摄点榜单文章中国国家地理网 2019-04-20
  • C919首飞机组技术支持团队:和大飞机一起舞动青春 2019-04-19
  • 滇剧兴衰 春城壹网 七彩云南 一网天下 2019-04-19
  • 看到101的Yamy 终于知道单眼皮怎么化眼妆了 2019-04-19
  • 阿呆,那是你家远祖啊,还不跪拜?[哈哈] 2019-04-19
  • 读原文、听原话、悟原理 2017,传媒人学“习”笔记 2019-04-18
  • 一起嗨起来!大国重器组团跳“机械舞” 2019-04-18
  • 在“街角博物馆”中找寻来自唐朝的“雕刻时光” 2019-04-18
  • 段家寨岔上村党支部主题党日助脱贫 2019-04-17
  • 为什么最早的货币出现在中国? 2019-04-17
  • 国家人社部“支持鄱阳湖生态经济区建设专家服务上饶行”活动启动 雷平出席活动并致辞 2019-04-17
  • 中央直属机关工委机构设置图 2019-04-16
  • 这些事实都在打四两如梦的脸[微笑] 2019-04-16
  • 563| 474| 854| 409| 584| 962| 334| 334| 322| 323|