2

「lastpost」が「No Posts」に設定されている場合、配列キーを無視する必要があるという問題があります

これは $sublast の配列ダンプです:

    array(3) { [0]=> array(9) { ["forum_category_id"]=> string(1) "3" ["name"]=>  string(15) "Sub category #1" ["description"]=> string(39) "This is a short description test.... #2" ["topics"]=> string(1) "0" ["lastpost"]=> string(8) "No Posts" ["lastpostauthor"]=> string(1) " " ["lastposturl"]=> string(88) "http://test.codetrove.com/index.php?route=forum/read&forum_path=3&forum_post_id=" ["posts"]=> int(0) ["href"]=> string(81) "http://test.codetrove.com/index.php?route=forum/forum_category&forum_path=1_3" } [1]=> array(9) { ["forum_category_id"]=> string(1) "7" ["name"]=> string(16) "Test sub Sub cat" ["description"]=> string(0) "" ["topics"]=> string(1) "2" ["lastpost"]=> string(26) "Mon Apr 1, 2013 1:00:42 pm" ["lastpostauthor"]=> string(16) "Justine Smithies" ["lastposturl"]=> string(90) "http://test.codetrove.com/index.php?route=forum/read&forum_path=7&forum_post_id=63" ["posts"]=> int(2) ["href"]=> string(81) "http://test.codetrove.com/index.php?route=forum/forum_category&forum_path=1_7" } [2]=> array(9) { ["forum_category_id"]=> string(1) "9" ["name"]=> string(11) "Test cat #3" ["description"]=> string(20) "Short description #3" ["topics"]=> string(1) "2" ["lastpost"]=> string(26) "Mon Apr 1, 2013 1:00:15 pm" ["lastpostauthor"]=> string(16) "Justine Smithies" ["lastposturl"]=> string(90) "http://test.codetrove.com/index.php?route=forum/read&forum_path=9&forum_post_id=62" ["posts"]=> int(2) ["href"]=> string(81) "http://test.codetrove.com/index.php?route=forum/forum_category&forum_path=1_9" } } 

ここに私がやろうとしているコードがありますが、常に一番上のエントリが正しいのでめちゃくちゃになりますが、「lastpost」が「No Posts」に設定されている場合は一番上のエントリを削除する方法が必要です。正しい情報。

                        <?php
                        $sublast = $forum_category['children'];
                        foreach ($sublast as $key => $row) {
                        $dates[$key]  = $row['lastpost']; 
                        }
                        array_multisort($dates, SORT_ASC, $sublast);
                        $lastitem = $sublast[count($sublast) - 1];
                         var_dump($sublast); 
                        ?>

これは $lastitem のダンプです:

    array(9) { ["forum_category_id"]=> string(1) "3" ["name"]=> string(15) "Sub category #1" ["description"]=> string(39) "This is a short description test.... #2" ["topics"]=> string(1) "0" ["lastpost"]=> string(8) "No Posts" ["lastpostauthor"]=> string(1) " " ["lastposturl"]=> string(88) "http://test.codetrove.com/index.php?route=forum/read&forum_path=3&forum_post_id=" ["posts"]=> int(0) ["href"]=> string(81) "http://test.codetrove.com/index.php?route=forum/forum_category&forum_path=1_3" }

そして、ご覧のとおり、配列エントリ全体を削除する必要があるときに「投稿なし」が発生したため、必要な配列[1]が必要です。

アイデアはありますか?

4

2 に答える 2

1

PHP のunset関数を使用して要素を削除する

于 2013-04-01T12:31:03.143 に答える
0

設定を解除すると、必要になります。

unset($array)
于 2013-04-01T12:33:37.183 に答える