数组翻转并合并多个数组

时间:2014-10-03 05:02:08

标签: php arrays

如何制作以下数组:

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_fliparray_merge并循环遍历数组,但收效甚微。数组名称为$r_id

3 个答案:

答案 0 :(得分:1)

你可以为此目的使用一个简单的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
}

所以最后你得到一个平面阵列。

答案 1 :(得分:1)

这是一个简单的循环:

$result = array();
foreach ($r_id as $element) {
    $result[$element['r_id']] = $element['r_rate'];
}

答案 2 :(得分:1)

您可以使用 PHP> = 5.5.0 中名为array_column()的本机函数来实现该结果。

$result = array_column($array, 'r_rate', 'r_id');

示例:https://3v4l.org/u5157