Metal Sonic
Metal Sonic

Reputation: 61

PHP Combine Arrays By Value

I have the following arrays:

    [review] => Array
    (
        [14829] => 0
        [14840] => 1
        [14844] => 1
        [14846] => 0
    )

And

Array
(
    [0] => Array
        (
            [idRequisition] => 14829
            [idDpt] => 118
            [account] => 0
            [value] => 0
        )

    [1] => Array
        (
            [idRequisition] => 14829
            [idDpt] => 118
            [account] => 0
            [value] => 0
        )

    [2] => Array
        (
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,01
        )

    [3] => Array
        (
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,02
        )

    [4] => Array
        (
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,03
        )

    [5] => Array
        (
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,04
        )

)

I need to combine both, but every value of review (0 or 1) must match in the 2nd array. The final result must be like this one:

Array
(
    [0] => Array
        (
            [review] => 0
            [idRequisition] => 14829
            [idDpt] => 118
            [account] => 0
            [value] => 0
        )

    [1] => Array
        (
            [review] => 0
            [idRequisition] => 14829
            [idDpt] => 118
            [account] => 0
            [value] => 0
        )

    [2] => Array
        (
            [review] => 1
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,01
        )

    [3] => Array
        (
            [review] => 1
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,02
        )

    [4] => Array
        (
            [review] => 1
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,03
        )

    [5] => Array
        (
            [review] => 1
            [idRequisition] => 14844
            [idDpt] => 43
            [account] => 3101020101
            [value] => R$ 0,04
        )

)

Upvotes: 0

Views: 29

Answers (1)

Nick
Nick

Reputation: 10143

If review contains in $review array and your array contains in $array:

foreach ($array as &$value) {
    $value['review'] = $review[$value['idRequisition']];
}

Upvotes: 2

Related Questions