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');