1

サンプルの var_dump を次に示します。では、そこから foreach を構築して、特定の単語またはフラグメントを配列にロードする方法を知るにはどうすればよいでしょうか?

object(stdClass)#1 (2)
{
    ["noun"]=>
            object(stdClass)#2 (1)
            {
                ["syn"]=> array(24)
                {
                    [0]=> string(12) "domestic dog"
                    [1]=> string(16) "Canis familiaris"
                    [2]=> string(5) "frump"
                    [3]=> string(3) "cad"
                    [4]=> string(7) "bounder"
                    [5]=> string(10) "blackguard"
                    [6]=> string(5) "hound"
                    [7]=> string(4) "heel"
                    [8]=> string(5) "frank"
                    [9]=> string(11) "frankfurter"
                    [10]=> string(6) "hotdog"
                    [11]=> string(7) "hot dog"
                    [12]=> string(6) "wiener"
                    [13]=> string(11) "wienerwurst"
                    [14]=> string(6) "weenie"
                    [15]=> string(4) "pawl"
                    [16]=> string(6) "detent"
                    [17]=> string(5) "click"
                    [18]=> string(7) "andiron"
                    [19]=> string(7) "firedog"
                    [20]=> string(8) "dog-iron"
                    [21]=> string(8) "blighter"
                    [22]=> string(5) "canid"
                    [23]=> string(6) "canine"
                    [24]=> string(5) "catch"
                }
            }
}
4

2 に答える 2

4

解読する前に、フォーマットする必要があります。

Tobias Kun's answervar_dumpは、出力をフォーマットして読めるようにする非常に良い方法を示しています。

object(stdClass)#1 (2)
{
    ["noun"]=>
            object(stdClass)#2 (1)
            {
                ["syn"]=> array(24)
                {
                    [0]=> string(12) "domestic dog"
                    [1]=> string(16) "Canis familiaris"
                    [2]=> string(5) "frump"
                    [3]=> string(3) "cad"
                    [4]=> string(7) "bounder"
                    [5]=> string(10) "blackguard"
                    [6]=> string(5) "hound"
                    [7]=> string(4) "heel"
                    [8]=> string(5) "frank"
                    [9]=> string(11) "frankfurter"
                    [10]=> string(6) "hotdog"
                    [11]=> string(7) "hot dog"
                    [12]=> string(6) "wiener"
                    [13]=> string(11) "wienerwurst"
                    [14]=> string(6) "weenie"
                    [15]=> string(4) "pawl"
                    [16]=> string(6) "detent"
                    [17]=> string(5) "click"
                    [18]=> string(7) "andiron"
                    [19]=> string(7) "firedog"
                    [20]=> string(8) "dog-iron"
                    [21]=> string(8) "blighter"
                    [22]=> string(5) "canid"
                    [23]=> string(6) "canine"
                    [24]=> string(5) "catch"
                }
            }
}

「名詞」というプロパティを持つstdClassオブジェクト があります。名詞は、文字列の配列である「syn」と呼ばれるプロパティを持つオブジェクトです。

object を呼び出すとします$object。次に、次のように配列にアクセスできます。

echo $object->noun->syn[23];

を与えてくれcanineます。したがって、ループは次のようになります。

foreach($data->noun->syn as $value) {
    echo $value . "<br>\n";
}
于 2013-07-27T21:38:00.660 に答える
1

まず第一に、質問の質を本当に高める必要があります。コードはまったくフォーマットされていません。

データを使用echo "<pre>" . print_r($your_data_object_or_array,1) . "</pre>"すると、適切にフォーマットされます。

私があなたを正しく理解しているなら、これはあなたを助けるはずです:

foreach($data['noun']['syn'] as $value) {
    //with this you loop through all your words in "syn" e.g. domestic, "Canis familiaris etc."
    echo $value . "<br>";
}
//Ouput:
domestic
Canis familiaris
frump
cad 
etc ...
于 2013-07-27T21:37:24.670 に答える