PHPÖеÄÎÞÇ·ÖÀà¡¢ÎÞÇîǶÌ×ÆÀ¼Û
Ò»ÑùÀ´Ëµ£¬µÝ¹é±»³ÆΪº¯Êý±¾ÉíµÄµ÷È¡¡£
µÝ¹éÔÚ¿ª·¢ÖеÄʵ¼ÊʹÓÃ
N¼¶·ÖÀà
ÎÞÇµÄ·ÖÀàÔÚƽ³£µÄ¿ª·¢ÖÐÊdz£¼ûµÄÐèÇ󣬲¢ÇÒÔÚ²»ÉÙÃæÊÔÌâÖж¼»áÅöµ½¡£²»¹ÜÄã×öʲôÏîÄ¿£¬Ó¦µ±¶¼Åöµ½¹ýÏàËƵÄÎÊÌâ¡£ÏÂÃ棬ÎÒÃǾÍʹÓõݹéµÄ˼Ï룬ʵսһ°Ñ¡£
SQL¹¹Ôì
CREATE TABLE `categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `categoryName` varchar(100) NOT NULL, `parentCategory` int(11) DEFAULT '0', `sortInd` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
È»ºóÎÒÃÇÐéÄâ³öһЩÊý¾Ý³öÀ´£¬×îºó³¤Õâ¸öÄ£Ñù¡£
ÏÂÃæ ÎÒÃÇÖ±½Ó¿´´úÂëʵÏÖ¡£
<?php$dsn = "mysql:host=127.0.0.1;port=3306;dbname=light-tips;charset=UTF8;"; $username = 'root'; $password = 'admin'; $pdo = new PDO($dsn, $username, $password); $sql = 'SELECT * FROM `categories` ORDER BY `parentCategory`, `sortInd`'; $result = $pdo->query($sql, PDO::FETCH_OBJ); $categories = [];foreach ($result as $category) { $categories[$category->parentCategory][] = $category; }function showCategoryTree($categories, $n){ if (isset($categories[$n])) { foreach ($categories[$n] as $category) { echo str_repeat('-', $n) . $category->categoryName . PHP_EOL; showCategoryTree($categories, $category->id); } } return; } showCategoryTree($categories, 0);
¿ÉÒÔ¿´µ½£¬ÎÒÃǵÚÒ»ÁÔÈ¡µ½ÁËËùÓеÄÊý¾Ý£¬È»ºóÒÀÕÕ¸¸¼¶ID¹éÀà¡£ÕâÊÇÒ»¸ö·Ç³£°ôµÄÊý¾Ý¹¹Ôì¡£ÏëÏóһϣ¬ÎÒÃÇ°ÑÕ¹ÏÖ¶¥¼¶ÃûÄ¿ÏÂËùÓÐ×ÓÃûÄ¿µÄÎÊÌâ·Ö½â³ÉÁËÕ¹ÏÖ±¾È˵ÄÀàÄ¿±êÌâºÍÕ¹ÏÖÊý¾ÝÖÐparentCategoryΪµ±Ç°ÃûÄ¿idµÄ×ÓÃûÄ¿£¬È»ºóʹÓÿª¶ËµÝ¹éµ÷È¡¡£×îºóµÄÊä³öÊÇÕâ¸öÄ£ÑùµÄ¡£
ÎÞÇîǶÌ×ÆÀÂÛ
ÏÈÀ´¿´ÏÂÕâ¸ö ÎÞÇîǶÌ×ÆÀÂÛ³¤Ê²Ã´Ä£Ñù¡£Èçͼ£º
ÉÏÃæµÄÀõ×Ó£¬ÓÖÊÇÒ»¸ö¾µäµÄ¿ÉÒÔʹÓõݹé½â¾öµÄ°¸Àý¡£»¹ÊÇÀ´¿´ÏÂÊý¾Ý¹¹Ôì¡£
CREATE TABLE `comments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `comment` varchar(500) NOT NULL, `username` varchar(50) NOT NULL, `datetime` datetime NOT NULL, `parentID` int(11) NOT NULL, `postID` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
´ó¼Ò¿ÉÒÔ±¾ÈËʵ¼ùÒ»±é£¬ÏȲ»Òª¿´ÏÂÃæµÄÄÚÈÝ¡£
<?php $dsn = "mysql:host=127.0.0.1;port=3306;dbname=light-tips;charset=UTF8;"; $username = 'root'; $password = 'admin'; $pdo = new PDO($dsn, $username, $password); $sql = 'SELECT * FROM `comments` WHERE `postID` = :id ORDER BY `parentId`, `datetime`'; $stmt = $pdo->prepare($sql); $stmt->setFetchMode(PDO::FETCH_OBJ); $stmt->execute([':id' => 1]); $result = $stmt->fetchAll(); $comments = []; foreach ($result as $comment) { $comments[$comment->parentID][] = $comment; } function showComments(array $comments, $n) { if (isset($comments[$n])) { foreach ($comments[$n] as $comment) { echo str_repeat('-', $n) . $comment->comment . PHP_EOL; showComments($comments, $comment->id); } } return; } showComments($comments, 0);
ÎļþɨÃè
ʹÓõݹéÍ£Ö¹ÃûÄ¿ÎļþµÄɨÃèµÄÀõ×Ó¡£
<?php function showFiles(string $dir, array &$allFiles) { $files = scandir($dir); foreach ($files as $key => $value) { $path = realpath($dir . DIRECTORY_SEPARATOR . $value); if (!is_dir($path)) { $allFiles[] = $path; } else if ($value != "." && $value != "..") { showFiles($path, $allFiles); $allFiles[] = $path; } } return; } $files = []; showFiles('.', $files); foreach ($files as $file) { echo $file . PHP_EOL; }
¸ü¶àPHPÏà¹Ø¼¼ÊõÎÄÕ£¬Çë°Ý·ÃPHP½Ì³ÌÀ¸Ä¿Í£Ö¹Ñ§Ï°£¡
ÒÔÉϾÍÊÇPHPÖеÄÎÞÇ·ÖÀà¡¢ÎÞÇîǶÌ×ÆÀÂ۵ľßÌåÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢°Ù·Ö°ÙÔ´ÂëÍøÆäËüÏà¹ØÎÄÕ£¡
¸ÐлÄúµÄÖ§³Ö£¬ÎÒ»á¼ÌÐøŬÁ¦µÄ!
´ò¿ªÖ§¸¶±¦É¨Ò»É¨£¬¼´¿É½øÐÐɨÂë´òÉÍŶ
°Ù·Ö°ÙÔ´ÂëÍø ½¨Òé´òÉÍ1¡«10Ôª£¬ÍÁºÀËæÒ⣬¸ÐлÄúµÄÔĶÁ£¡