-2

多次元配列から値を読み取るのに助けが必要です。配列は以下のようになります。

Array
(
    [translations] => Array
        (
            [0] => Array
                (
                    [translatedText] => fantasma
                    [detectedSourceLanguage] => en
                )
        )
)

私は次のことを試みましたが、ブランクを取得し続けました。助けていただければ幸いです。

foreach($item as $translations)
{
       foreach($row['0'] as $k)
       {
             echo $k['translatedText'];
             echo $k['detectedSourceLanguage'];
       }
}
4

4 に答える 4

2

foreach ループを使用する場合、次の構文を使用して反復処理を計画している配列を呼び出す必要があります。

foreach($array as $variable){  }

Array は通過する予定の配列であり、 variable は foreach 内で呼び出す予定の変数です。

foreach ループの詳細については、PHP:foreachを参照してください。

そうは言っても、以下のコードを試してください。

$data = array(
    "translations" => array(
        array("translatedText" => "fantasma", 
              "detectedSourceLanguage" => "en"
        )
    )
);

echo "<pre>";
echo print_r($data);
echo "</pre>";

foreach($data["translations"] as $translation) {
    echo $translation['translatedText'] . "<br />";
    echo $translation['detectedSourceLanguage'] . "<br />";
}

//Or, if the $data variable will be holding multiple translation arrays:

foreach($data as $d) {
    foreach($d as $translation){
        echo $translation['translatedText'];
        echo $translation['detectedSourceLanguage'];
    }
}
于 2013-07-20T03:17:13.900 に答える
0

これを試して:

foreach ($item['translations'] as $translation) {
  echo $translation['translatedText'];
  echo $translation['detectedSourceLanguage'];
}

デモを見る

于 2013-07-20T03:03:20.800 に答える
0

コードを以下に変更します。

$test = Array(
    "translations" => Array (
        "0" => Array (
            "translatedText" => "fantasma",
            "detectedSourceLanguage" => "en"
        )
    )
);

foreach ($test as $translations) {
    foreach ($translations as $k) {
        echo $k["translatedText"];
        echo "<br/>";
        echo $k["detectedSourceLanguage"];
    } 
}

これはうまくいくはずです。

配列の詳細については、これに従ってください: http://php.net/manual/en/language.types.array.php

于 2013-07-20T03:15:53.827 に答える
-1

$row問題は、変数を定義していないことです。良いニュースは、それが必要ないということです。

これを簡単に行うことができます:

foreach($item as $translations => $values)
{
       foreach($values as $k)
       {
             echo $k['translatedText']."\n";
             echo $k['detectedSourceLanguage'];
       }
}
于 2013-07-20T03:02:48.400 に答える