douluo6626 2010-09-17 09:12
浏览 22
已采纳

如何将数组的每两个连续值转换为键/值对?

I have an array like the following:

array('category_name:', 'c1', 'types:', 't1')

I want the alternate values of an array to be the values of an array:

array('category_name:' => 'c1', 'types:' => 't1')
  • 写回答

4条回答 默认 最新

  • donglusou3335 2010-09-17 10:07
    关注
    function fold($a) {
        return $a 
            ? array(array_shift($a) => array_shift($a)) 
                + fold($a)
            : array();
    }
    
    print_r(fold(range('a','p' )));
    

    ~)

    upd: a real-life version

    function fold2($a) {
        $r = array();
        for($n = 1; $n < count($a); $n += 2)
            $r[$a[$n - 1]] = $a[$n];
        return $r;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?