1

親カテゴリ ( ) に関する情報を含む 2 次元配列がありますparent=1print_r()この配列の aは次のとおりです。

 Array
(
    [0] => Array
        (
            [id] => 2
            [title] => parent2
            [content] => this is an example
            [avator] => 
            [thumnail] => 
            [parent] => 1
            [parent_id] => 8
        )

    [1] => Array
        (
            [id] => 3
            [title] => THISPARENT
            [content] => A NOTE
            [avator] => 
            [thumnail] => 
            [parent] => 1
            [parent_id] => 12
        )

)

この配列には、2 つの親がいます。それらの 1 つだけが既にデータベース テーブルに子を持っているため、parent_id が 2 つのうちの 1 つである必要がある子をデータベースで検索すると、論理結果は 1 つの子カテゴリの情報を含む配列である必要がありますが、2 つの配列が返されます。 、そのうちの 1 つが空です。

以下を使用して、上記の親カテゴリの ID を使用して DB を検索しますloop

  for($i=0; $i<count($cats); $i++)
        {
            $this->db->where("parent_id", $cats[$i]['id']);
            $res = $this->db->get("category");  
            $x[$i] = $res->result_array(); 
        }

今、私が結果として受け取るものは次のとおりです。

                    Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [title] => child
                    [content] => childparent it is
                    [avator] => 
                    [thumnail] => 
                    [parent] => 0
                    [parent_id] => 3
                )

        )

)

インデックスがゼロの空の配列があってはなりませんが、2 番目のインデックスである最初の空の配列を受け取ることだけを期待しています。なんで?

前もって感謝します

4

1 に答える 1

0

次の理由により、インデックスがゼロの配列を受け取っています

$x[$i] = $res->result_array(); 

に変更してみてください

$results = $res->result_array();
if (is_array($results) && count($results)>0) {
  $x[$i] = $results; 
}

次に、インデックスがゼロの配列とすべての空の配列をスキップする必要があります。

于 2013-11-02T22:06:57.723 に答える