简体   繁体   English

如何使用值作为键将多维数组转换为简单数组

[英]How to convert multidimensional array to simple array using values as a keys

How to convert multidimensional array from the example below 如何从下面的示例转换多维数组

Array

(

    [0] => Array

        (

            [cf] => Juan

            [nf] => 5

        )

    [1] => Array

        (

            [cf] => Kyu

            [nf] => 10

        )

)

to an simple array using values as keys and values where [cf] is a key and [nf] is value 到使用值作为键和值的简单数组,其中[cf]是键,[nf]是值

Array
(
"Juan"=>"5",
"Kyu"=>"10"
)
$arr = array(
  0 => array(
      'cf' => 'Juan',
      'nf' => 5
    ),
  1 => array(
      'cf' => 'Kyu',
      'nf' => 10
    )
);

$result = array();

foreach($arr as $key => $value) {
  $result[$value['cf']] = $value['nf'];
}

print_r($result);

You can do like .. 你可以做..

<?php
$arr = array( 0 => array( "cf" => "Juan", "nf" => 5, ),1 => array(  "cf" => "Kyu", "nf" => 10, ),);

foreach ($arr as $arr1)
{
    foreach($arr1 as $k=>$v)
    {
        $arrnew[]=$v; // Adding just the values to the temp array
    }
    $new_arr[$arrnew[0]]=$arrnew[1]; //Your new array gets those values from the temp array
    unset($arrnew); //Deleting your temp array
}

print_r($new_arr); //Printing the results

OUTPUT :

Array
(
    [Juan] => 5
    [Kyu] => 10
)

try like this: 尝试这样:

$a = array(array('cf'=>'joan', 'nf'=>'5'), array('cf'=>'lol', 'nf'=>'55'));
$new = array();

foreach( $a as $k ) {
    $new[$k[cf]] = $k[nf];
}
print_r( $new )

http://codepad.org/xVbcDXLD http://codepad.org/xVbcDXLD

$x=array(
    0=>array(
        "cf"=>"Juan",
        "nf" => 5,
    ),
    1=>array(
        "cf"=>"Kyu",
        "nf" => 10,
    ),
);

foreach($x as $k=>$v) $result[$v["cf"]]=$v["nf"];

print_r($result);

you iterate through it, and build up your array, like this: 您遍历它,并建立您的数组,如下所示:

$mysimplearray = array();
foreach($originalarray as $id => $innerarray) {
   $mysimplearray[$innerarray["cf"]] = $innerarray["nf"];
} 

voila, your data is stored now as a simple 1 dimension array, in $simplearray. 瞧,您的数据现在以简单的一维数组形式存储在$ simplearray中。

Here you have your function: 这是您的功能:

$array =
array (
    0 => Array
        (
            'cf' => 'Juan',
            'nf' => 5
        ),
    1 => Array
        (
            'cf' => 'Kyu',
            'nf' => 10
        )
);

$new_array = array();
foreach($array as $value => $new_array_elem) {
    $key = $new_array_elem['cf'];
    $value = $new_array_elem['nf'];
    $new_array["$key"] = $value;
}

print_r($new_array);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM