0

配列から特定の値を出力しようとしていますが、以下のように、配列が実行されるたびに値が異なる場所にあります。

1 ページで:

Array
(
    [id] => 12445
    [countries] => Array
        (
            [0] => Array
                (
                    [iso_3166_1] => GB
                    [certification] => 12A
                    [release_date] => 2011-07-07
                )

            [1] => Array
                (
                    [iso_3166_1] => US
                    [certification] => PG-13
                    [release_date] => 2011-07-15
                )

            [2] => Array
                (
                    [iso_3166_1] => DE
                    [certification] => 12
                    [release_date] => 2011-07-12
                )
}

別のページで:

Array
(
    [id] => 673
    [countries] => Array
        (
            [0] => Array
                (
                    [iso_3166_1] => US
                    [certification] => PG
                    [release_date] => 2004-06-04
                )

            [1] => Array
                (
                    [iso_3166_1] => GB
                    [certification] => PG
                    [release_date] => 2004-05-31
                )

            [2] => Array
                (
                    [iso_3166_1] => IT
                    [certification] => T
                    [release_date] => 2004-06-04
                )
}

ご覧のとおり、1 つのページの 'GB' 文字列は配列の位置 0 にあり、もう 1 つのページでは位置 1 にあります。これで、このコードが展開されているページは動的なので、' $array['countries'][0]['release_date']「release_date」は配列から取得したい実際の値なので、「GB」(または「US」など)を配列から検索するコードが必要だと考えています国は返す必要があります)、文字列を含むインデックス番号を見つけ、それを $uk_release_date またはそのような名前付き変数として動的にクエリに入れます。

前もって感謝します!

4

1 に答える 1

1
$index = -1;

foreach($array['countries'] as $k=>$v) {
  if(array_search('GB', $v)) { // Search for GB
    $index = $k;
    break;
  }
}

echo $array['countries'][$index]['release_date']; // This will be the release date for GB
于 2013-03-14T12:20:38.227 に答える