1

マッピングする必要があります

Array
(
    [0] => Array
        (
                [cid] => 1
                [value] => red
        )

    [1] => Array
        (
                [cid] => 2
                [value] => green
        )

    [2] => Array
        (
                [cid] => 3
                [value] => pink
        )

    [3] => Array
        (
                [cid] => 4
                [value] => yellow
        )
)

に:

Array
(
    [0] => 2
    [1] => 3
    [2] => 1
)

second配列の値 [0] => 2 を配列内の cid にマップする必要がありますfirst。つまり、緑の値にマップするには 2 が必要です。

何か助けはありますか?ありがとうございました。

4

2 に答える 2

3

まず、最初の配列を確認しやすいものに変更します。

<?php
$temp = array();
foreach ($array1 as $val) {
  $temp[$val['cid']] = $val['value'];
}
?>

これで配列ができました:

$temp[1] = "red";
$temp[2] = "green";
$temp[3] = "pink";
$temp[4] = "yellow";

次に、2番目の配列でそれを簡単に使用できます

<?php
$new= array();
foreach ($array2 as $key=>$val) {
  $new[$key] = $temp[$val];
}
?>

コードパッドの例

于 2014-05-14T20:22:53.923 に答える