如何数组中的每个两个连续的值转换成键/值对? [英] How to convert every two consecutive values of an array into a key/value pair?

查看:99
本文介绍了如何数组中的每个两个连续的值转换成键/值对?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有类似如下的数组:

 阵列('CATEGORY_NAME:','C1','类型:','T1')

我要一个阵列的替代值是一个数组的值:

 阵列('CATEGORY_NAME:'=>'C1','类型:'=>'T1')


解决方案

 函数倍($ A){
    返回一个$
        ?阵列(array_shift($ A)=> array_shift($ A))
            +倍($ A)
        :阵列();
}的print_r(折(范围('一个','P')));

〜)

UPD:一个现实版

 函数fold2($ A){
    $ R =阵列();
    为($ N = 1; $ N<计数($ A); $ N + = 2)
        $ R [$ A [$ N - 1] = $ A [$ N];
    返回$ R;
}

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')

解决方案

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;
}

这篇关于如何数组中的每个两个连续的值转换成键/值对?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆