Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于codeigniter插件的多维阵列到一维的转换_Php_Arrays_Codeigniter - Fatal编程技术网

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