替换数组 php


Replace array php

[lang_1] => Array
    (
        [0] => Array
            (
                [answer] => satu
                [status_answer] => 2
                [key_array] => 0
                [language] => lang_1
            )
        [1] => Array
            (
                [answer] => dua_en
                [status_answer] => 3
                [key_array] => 
                [language] => lang_1
            )
        [2] => Array
            (
                [answer] => lima
                [status_answer] => 3
                [key_array] => 
                [language] => lang_1
            )
        [3] => Array
            (
                [answer] => enam
                [status_answer] => 3
                [key_array] => 
                [language] => lang_1
            )
    )
[lang_2] => Array
    (
        [0] => Array
            (
                [answer] => satu
                [status_answer] => 3
                [key_array] => 
                [language] => lang_2
            )
        [1] => Array
            (
                [answer] => dua_en
                [status_answer] => 2
                [key_array] => 1
                [language] => lang_2
            )
        [2] => Array
            (
                [answer] => lima
                [status_answer] => 3
                [key_array] => 
                [language] => lang_2
            )
        [3] => Array
            (
                [answer] => enam
                [status_answer] => 3
                [key_array] => 
                [language] => lang_2
            )
    )

我有两个数组。我的问题是,我如何在lang_1中将数组替换为仅status_answer = 2 lang_2中的数组

首先搜索lang_2所需的元素:

foreach ($array['lang_2'] as $el) {
    if ($el['status_answer'] == 2) {
        $replacement = $el;
        break;
    }
}

然后在lang_1中搜索要替换的元素:

foreach ($array['lang_1'] as &$el) {
    if ($el['status_answer'] == 2) {
        $el = $replacement;
    }
}