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 的回答显示了一种非常好的格式化var_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 对象,其属性名为“名词”。noun 是一个具有名为“syn”的属性的 abject,它是一个字符串数组。

假设我们调用对象$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 回答