如何制作以下数组:
Array
(
[0] => Array
(
[r_id] => 1
[r_rate] => 180.00
)
[1] => Array
(
[r_id] => 2
[r_rate] => 100.00
)
[2] => Array
(
[r_id] => 3
[r_rate] => 100.00
)
[3] => Array
(
[r_id] => 4
[r_rate] => 100.00
)
)
如下所示:(数组值r_id=数组键,值为r_rate)
Array
(
[1] => 180.00 // [r_id] => [r_rate]
[2] => 100.00
[3] => 100.00
[4] => 100.00
)
我尝试过使用array_flip
和array_merge
并在数组中循环,但收效甚微。数组名称为$r_id
。
您可以使用一个简单的foreach来实现此目的:
foreach($original_array as $values) {
$new_array[$values['r_id']] = $values['r_rate'];
// ^ so the r_id assign it as key ^ and the rate becomes the values
}
所以最后你只需要得到一个平面阵列。
这是一个简单的循环:
$result = array();
foreach ($r_id as $element) {
$result[$element['r_id']] = $element['r_rate'];
}
您可以在PHP>=5.5.0中使用名为array_column()
的本机函数来实现此结果
$result = array_column($array, 'r_rate', 'r_id');
示例:https://3v4l.org/u5157