我找不到解决方案,而且我没有太多时间。所以我想要的是创建一个函数,我给出类别 ID,它返回类别的所有 ID,这是它的子类别。
function getID($var) {
$categories = array();
function getChildren($id) {
$result = mysql_query("SELECT * FROM categories WHERE parentID = '$id'");
echo "<ul>";
while ($row = mysql_fetch_array($result)) {
echo "<li><a>{$row['ID']}</a>";
$categories[] = $row['ID'];
getChildren($row['ID']);
echo "</li>";
}
echo "</ul>";
}
getChildren($var);
return $categories;
}
我不想将所有内容存储在 $categories 数组中。 $var 是我赋予函数的类别 ID。当我调用此函数时,它会打印我想要的列表,但数组为空。
看来你有范围问题。尝试这个:
function getChildren(&$categories, $id) {
$result = mysql_query("SELECT * FROM categories WHERE parentID = '$id'");
echo "<ul>";
while ($row = mysql_fetch_array($result)) {
echo "<li><a>{$row['ID']}</a>";
$categories[] = $row['ID'];
getChildren($categories, $row['ID']);
echo "</li>";
}
echo "</ul>";
}
function getID($var) {
$categories = array();
getChildren($categories, $var);
return $categories;
}
Here是 PHP 参考页面,描述如何通过引用而不是通过值传递。基本上它说任何具有&
前面的将通过引用而不是值传递。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)