我的数组$rawArray
如下所示:
array ( 0 => array ( 'name' => 'firstname', 'value' => 'Max', ), 1 => array ( 'name' => 'lastname', 'value' => 'Smith ', ), 2 => array ( 'name' => 'age', 'value' => 12, ), 3 => array ( 'name' => 'gender', 'value' => 'male', ));
如何以这样的方式转换此数组?
$newArray = ['firstname' => 'Max', 'lastname' => 'Smith', 'age' => 12, 'gender' => 'male'];
到目前为止,我尝试使用foreach循环,但它不起作用:
$newArray = [];
foreach($rawArray as $key=>$value) {
$newArray[$key] = [$value];
}
答案 0 :(得分:2)
您只需使用array_column
即可$arr = array ( 0 => array ( 'name' => 'firstname', 'value' => 'Max', ), 1 => array ( 'name' => 'lastname', 'value' => 'Smith ', ), 2 => array ( 'name' => 'age', 'value' => 12, ), 3 => array ( 'name' => 'gender', 'value' => 'male', ));
var_dump(array_column($arr, "value", "name"));
结果:
array(4) {
["firstname"]=>
string(3) "Max"
["lastname"]=>
string(6) "Smith "
["age"]=>
int(12)
["gender"]=>
string(4) "male"
}
答案 1 :(得分:0)
abc bthe abc them
结果:
$newArray = array();
foreach($array as $value){
$newArray[$value['name']] = $value['value'];
}
echo '<pre>';
print_r($newArray);