0

PHPでは、次のような配列があります。

array(35) {
[0] => array(11) {
'dept_number' → str•4 '2310'
'dept_descr' → str•10 'Some Stuff'
}

[1] => array(11) {
'dept_number' → str•4 '1010'
'dept_descr' → str•11 'Other Stuff'
}
...and so on

次のような別の配列があります。

array(22) {
[2310] => str•6 'Bakery'
[1010] => str•4 'Beer'
...and so on

最初の配列の dept_descr を 2 番目の配列の説明に置き換えたいと思います。ここで、最初の配列の dept_number は 2 番目の配列のキーと一致します。したがって、結果は次のようになります。

array(35) {
[0] => array(11) {
'dept_number' → str•4 '2310'
'dept_descr' → str•6 'Bakery'
}

[1] => array(11) {
'dept_number' → str•4 '1010'
'dept_descr' → str•4 'Beer'
}

これはどのように行われますか?

4

4 に答える 4

0

これを試して:

$original = array(
    array(
        'dept_number' => 2310,
        'dept_descr' => 'Some Stuff'),
    array(
        'dept_number' => 1010,
        'dept_descr' => 'Other Stuff'));

$descriptions = array(
    2310 => 'Bakery',
    1010 => 'Beer');

foreach($original as &$element) {
    $element['dept_descr'] = $descriptions[$element['dept_number']];
}

print_r($original);

出力:

Array
(
    [0] => Array
        (
            [dept_number] => 2310
            [dept_descr] => Bakery
        )

    [1] => Array
        (
            [dept_number] => 1010
            [dept_descr] => Beer
        )
)
于 2013-09-17T22:49:03.470 に答える
0

array_walkを使用できます:

$array1 = ...; // Your first array
$array2 = ...; // Your second array

function descReplace(&$item) {
    $item['dept_descr'] = $array2[$item['dept_number']];
}

array_walk($array1, 'descReplace');
于 2013-09-17T22:49:11.383 に答える