PHP - 读取变量名称数组

时间:2017-06-26 20:39:40

标签: php arrays

所以我试图建立一个类似于WordPress的类别系统。这基本上是嵌套类别,我想这样做,即一个类别可以拥有的子级没有限制。例如:

祖父 - -父亲 - - - 儿子 ---------孙子 ...

所以我的类别在数据库中(显然),表格是这样的:

CREATE TABLE IF NOT EXISTS `categorias` (`idCategoria` int(11) NOT NULL,`Tipo` int(11) NOT NULL,`Nombre` varchar(50) NOT NULL,`Padre` varchar(100) NOT NULL,`Nivel` int(11) NOT NULL DEFAULT '0') ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;

Nivel = Level和Padre = Father(这对我来说是重要的)

我已经制作了一个数组,里面全部都是。

$categorias=array();
for($z=0;$z<$niveles;$z++){
    $a=BuscarBD("SELECT * FROM categorias WHERE Nivel='$z' ORDER BY Nombre");
    if($a!=0){
        for($y=0;$y<count($a);$y++){
            if($a[$y]["Padre"]==0){
                $indice=$a[$y]["idCategoria"];
            }else{
                $indice=str_replace("-",'"]["',$a[$y]["Padre"]).'"]["'.$a[$y]["idCategoria"];
            }
            $categorias{$indice}=$a[$y]["Nombre"];unset($indice);
        }unset($y);
    }unset($a); 
}unset($z);
var_dump($categorias);

var_dump结果是:

array(8) { [7]=> string(6) "Abuela" [1]=> string(6) "Abuelo" ["7"]["8"]=> string(5) "Madre" ["1"]["2"]=> string(5) "Padre" ["1"]["2"]["3"]=> string(4) "Hijo" ["1"]["5"]=> string(3) "Tio" ["1"]["2"]["3"]["4"]=> string(5) "Nieto" ["1"]["5"]["6"]=> string(5) "Primo" } 

我的问题是,如果我们实际上不知道它有多少级别,我如何读取数组$ categorias。

对不起代码中的西班牙语,是我的母语

0 个答案:

没有答案