0

我有一个多维数组(如下所示)。我试图做的是找到一个特定的值,如果该值有孩子,只列出那些孩子。因此,例如,如果正在搜索 slug 的“测试”,则页面上会列出所有“测试”的子项。“Test2”没有孩子,所以没有列出。如果正在搜索“/test/sub”(蛞蝓),并且由于它有孩子,我想显示所有孩子(例如“sh”、“rd”、“co”)。我不知道如何开始,所以非常感谢任何帮助。

    Array
    (
     [test] => Array
      (
        [children] => Array
         (
           [2] => Array
             (
               [parent] => 4
               [title] => Sub
               [slug] => test/sub/
               [id] => 2
               [children] => Array
               (
                 [3] => Array
                 (
                   [parent] => 2
                   [title] => sh 
                   [slug] => test/sub/sh
                   [id] => 3
                 )
                 [27] => Array
                 (
                   [parent] => 2
                   [title] => RD
                   [slug] => test/sub/rd
                   [id] => 27
                 )
                 [145] => Array
                 (                                     
                   [parent] => 2
                   [title] => cO
                   [slug] => test/sub/co
                   [id] => 145
                 )
               )
            )
            [8] => Array
            (
              [parent] => 4
              [title] => sub2
              [slug] => test/sub2
              [id] => 8
            )
            [19] => Array
            (
              [parent] => 4
              [title] => sub3
              [slug] => test/sub3
              [id] => 19
              [children] => Array
              (
                [20] => Array
                (
                 [parent] => 19
                 [title] => child1
                 [slug] => test/sub3/child1
                 [id] => 20
                )
                [21] => Array 
                (
                 [parent] => 19     
                 [title] => child2
                 [slug] => test/sub3/child2                                                                                          [id] => 21
                 )
               )
            )
4

1 回答 1

1

行。我有办法解决这个问题,但我不确定它是否最有效。假设查询数据库后得到的对象是$anObject。所以我们会这样做,

for($i = 0;$i < 50;$i++){
if($anObject->test->children[$i]){
for($j = 0;$j < 200;$j++){
$slug = $anObject->test->children[$i]->$j->slug;
echo $slug;
}
}}

基本上,我正在检查是否存在针对特定 $i 值的特定对象,然后查看它是否具有针对特定 $j 值的值。如果您知道整数的范围,则可以更改这些值。当我们得到它时,我们在 $slug 变量中获取它,然后在该部分添加一些过程来使用这个值。

让我知道这是否有帮助。

于 2012-11-16T15:26:39.337 回答