Php 数组翻转和合并多个数组
如何制作以下阵列:Php 数组翻转和合并多个数组,php,arrays,Php,Arrays,如何制作以下阵列: Array ( [0] => Array ( [r_id] => 1 [r_rate] => 180.00 ) [1] => Array ( [r_id] => 2 [r_rate] => 100.00 ) [2] => Array
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\u id=数组键,值为r\u rate)
我曾尝试使用
array\u flip
和array\u merge
并在数组中循环,但几乎没有成功。数组名为$r\u 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中调用的本机函数来实现该结果
$result = array_column($array, 'r_rate', 'r_id');
示例:
array\u flip
将值转换为键,但键必须是字符串或数字,它们不能是数组。array\u merge
用于组合两个数组,但您只有一个数组,我看不出这有什么帮助。如果您展示了您尝试编写的循环,所以我们可以解释你哪里出错了,你会从中吸取教训。
$result = array_column($array, 'r_rate', 'r_id');