语言 PHP 。
所以我想把一个多维数组转换成一个简单的关联数组,它使用每一个值作为键,每三个值作为该键的一个值。
初始数组如下所示:
Array
(
[0] => Array
(
[id] => 1
[name] => Adam
[value] => 150
),
[1] => Array
(
[id] => 2
[name] => Bob
[value] => 120
),
[2] => Array
(
[id] => 3
[name] => Charlie
[value] => 175
)
)
我想将它变成一个简单的关联数组,如下所示:
Array
(
Adam => 150,
Bob => 120,
Charlie => 175
)
我试过(并且失败了)这样的事情:
$initialArray;
$arrayPrepped = array();
foreach ($initialArray as $part) {
foreach ($part as $name => $value) {
if ($name == 'name') {
$key = $value;
} elseif ($name == 'value') {
$finalvalue = $value;
}
$finalpart = array($key => $finalvalue);
}
array_merge($initialArray, $finalpart);
}
答案 0 :(得分:5)
答案 1 :(得分:1)
您的原始值如下:
$a = Array
(
Array(
'id' => 1,
'name' => 'Adam',
'value' => 150
),
Array
(
'id' => 1,
'name' => 'Job',
'value' => 200
),
);
然后继续工作:
$myarr = [];
foreach ($a as $item) {
$myarr[$item['name']] = $item['value'];
}
echo "<pre>";
print_r($myarr);
<强>输出:强>
Array
(
[Adam] => 150
[Job] => 200
)
答案 2 :(得分:0)
您可以通过这种方式将数组和设置值传递到新数组中。
$initialArray = [
0 => [
'id' => 1,
'name' => 'Adam',
'value' => 150,
],
1 => [
'id' => 2,
'name' => 'Bob',
'value' => 120,
],
2 => [
'id' => 3,
'name' => 'Charlie',
'value' => 175,
],
];
$arrayPrepped = array();
foreach ($initialArray as $part) {
$arrayPrepped[$part['name']] = $part['value'];
}
Here is执行的例子