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

  • 《对话·寓言2047》第二季在京首演  张艺谋玩起艺术与科技的碰撞 2019-02-20
  • 古楼旅行地中国国家地理网 2019-02-20
  • 获奖!亿达中国荣获中国房地产上市公司创新能力5强,综合实力50强 ——凤凰网房产北京 2019-02-19
  • 索尼4K屏旗舰降至冰点 售价仅2499元 2019-02-19
  • 体验4款入门合资SUV多媒体系统 谁能满足实用且有趣? 2019-02-19
  • 北京:人像识别  在逃人员火车站落网 2019-02-18
  • 世界杯首日综述:俄罗斯喜获开门红 罗纳尔多现身开幕式 2019-02-18
  • Kalender von Xi bei den Zwei Tagungen 2019-02-18
  • “媒体大脑”也在学习政府工作报告,机器发现了这些看点! 2019-02-18
  • 小米发布红米66A:搭载12nm制程处理器 599元起售 2019-02-17
  • 市场监管总局部分网红饮品存隐患 2019-02-17
  • 大零售渐入佳境 下半场转型倚重金融科技 2019-02-16
  • 本人几天前就吃了几个粽子了。 2019-02-16
  • “老赖”被限制出境无法看世界杯 主动还款30万 2019-02-16
  • 日本大阪6.1级强震4死逾300伤 工厂及店铺恢复运营 2019-02-15
  • 744| 979| 14| 416| 727| 711| 811| 487| 787| 488|