0

いくつかの PHP 組み込み関数を使用して、次の配列をidキーとしての値とlabel関連付けられた値としての値を含む配列に変換することは可能ですか? そうでない場合、効率的な方法は何ですか?

ありがとう。

入力配列:

Array
(
    [0] => Array
        (
            [id] => 2
            [label] => MTD-589
        )

    [1] => Array
        (
            [id] => 3
            [label] => MTD-789
        )

)

出力配列:

Array
(
  [2] => MTD-589,
  [3] => MTD-789,
)
4

3 に答える 3

2

組み込み関数はわかりませんが、次のようにします。

$originalArray変換したい配列と仮定して

$newArray = array();

foreach ($originalArray as $element)
     $newArray[$element["id"]] = $element["label"];

結果を出力する

var_dump($newArray);
于 2013-04-25T13:09:21.673 に答える
1

array_columnの導入(まだ PHP 5.5 ベータ版)。

$new_array = array_column($your_array 'label', 'id');

出力:

Array
(
  [2] => MTD-589,
  [3] => MTD-789,
)

array_walkを使用します。

array_walk($array, function($a) use (&$return) { $return[$a['id']] = $a['label']; });
print_r($return);
于 2013-04-25T13:14:05.860 に答える
0

1 つの配列に ID があり、1 つの配列にラベルがあるように作成できる場合は、array_combine を使用して 2 つをキー/値としてマージできますhttp://php.net/manual/en/function.array-combine.php

于 2013-04-25T13:08:33.890 に答える