我遇到了以下代码,无法破译其使用方法。
(为简单起见,将变量名称改为一点)
$fooo = array(
'dog' => array('pages', 'home'),
'cat' => array('users', 'login'),
'bird' => array('users', 'reset', 1),
);
我熟悉关联数组,但之前没有看过这个“嵌套数组”实现。
这段代码是否创建了一个数组数组?
例如,$fooo['dog']
会返回$dog[0]='pages'
和$dog[1]='home'
这似乎不对。
答案 0 :(得分:1)
是的,这是一个数组数组。但是将它描述为具有每个值的索引数组的关联数组可能更准确。
可以用以下方法完成:
$fooo['dog'] // gets array("pages", "home")
$fooo['bird'][0] // gets "users"
$fooo['cat'][1] // gets "login"
$fooo['cow'] = array('x', 'y'); // adds another value to the outer array
$fooo['bird'][] = 2; // $fooo['bird'] now equals array('users', 'reset', 1, 2)
此代码没有任何问题,但您的示例缺乏实用性。但是有很多代码使用这种结构。例如,网站上具有子菜单的菜单的逻辑表示(这似乎是您的样本的来源),然后可以循环此数据结构以生成HTML / CSS菜单。