Php 用于codeigniter插件的多维阵列到一维的转换
这就是我的阵列的外观Php 用于codeigniter插件的多维阵列到一维的转换,php,arrays,codeigniter,Php,Arrays,Codeigniter,这就是我的阵列的外观 array (size=5) 0 => array (size=2) 'key' => string 'PresentAddressDisrict' (length=21) 'value' => string '1' (length=1) 1 => array (size=2) 'key' => string 'ParmanentAddressDistrict' (length=24) 'value' => str
array (size=5)
0 =>
array (size=2)
'key' => string 'PresentAddressDisrict' (length=21)
'value' => string '1' (length=1)
1 =>
array (size=2)
'key' => string 'ParmanentAddressDistrict' (length=24)
'value' => string '2' (length=1)
2 =>
array (size=2)
'key' => string 'Board' (length=5)
'value' => string '1' (length=1)
3 =>
array (size=2)
'key' => string 'FieldChoice' (length=11)
'value' => string '1' (length=1)
4 =>
array (size=2)
'key' => string 'Gender' (length=6)
'value' => string '1' (length=1)
尝试了多种解决方案,如:
$it=new recursiveIterator(new RecursiveArrayIterator($a));
foreach($v){
回声$v,“;
}
array('PresentAddressDisrict' => 1, 'ParmanentAddressDistrict' => 2, 'Board' => 1, 'FieldChoice' => 1, 'Gender' => 1)
请帮帮我。使用数组映射或其他函数可能会有一些巧妙的方法,但我只想简单地做到这一点:
// create a new empty array to store values in
$insert = array();
// iterate over your array of arrays
foreach($my_array AS $values) {
// at this point, $values is something like:
// array('key' => 'Gender', 'value' => '1')
$insert[$values['key']] = $values['value'];
}
var_dump($insert);
只是为了提供cale_b提到的数组函数方法
$values = array_map( function( $item ) {
return $item['value'];
}, $array );
$keys = array_map( function( $item ) {
return $item['key'];
}, $array );
$array = array_combine( $keys, $values );
大家好,我衷心感谢大家的回答,我申请了cale_b答案,它对我很有用。
$values = array_map( function( $item ) {
return $item['value'];
}, $array );
$keys = array_map( function( $item ) {
return $item['key'];
}, $array );
$array = array_combine( $keys, $values );