如何数组中的每个两个连续的值转换成键/值对? [英] How to convert every two consecutive values of an array into a key/value pair?
本文介绍了如何数组中的每个两个连续的值转换成键/值对?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有类似如下的数组:
阵列('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屋!
查看全文