我有一个如下所示的数组:
array(3) { [0]=> array(1)
{
["habitacionales"]=> array(1)
{ ["Azcapotzalco"]=> string(1) "3" } }
[1]=> array(1) { ["comerciales"]=> array(0) { } }
[2]=> array(1) { ["industriales"]=> array(0) { } }
}
我需要检查数组是否属于" habitacionales"或" comerciales"等等。但无论我做什么,我都会收到通知&# 34;未定义的索引:habitacionales"。有人可以指出如何访问该索引?
我正在使用cakephp,我在控制器中设置变量如下:
$zonasHab = $this->PropiedadesHabitacionale->BasicosPropiedadesHabitacionale->find('list', array('fields'=>array('Zona', 'propiedad_habitacional_id')));
然后我做了:
$this->set('Zonas', array_unique($linksZonas, SORT_REGULAR));
最后在我看来:
foreach ($Zonas as $zona) {
foreach($zona as $zone) {
foreach(array_flip($zone) as $link) {
echo '<li class="dropdownheader">'.$link;
}
var_dump($zone['habitacionales']);
}/*
if($zona['habitacionales']!=null)
foreach(array_flip($zone) as $vinculo) {
echo '<li>'.$this->Html- >link($vinculo, array('controller'=>'propiedadeshabitacionales', 'action'=>'ver', $vinculo)).'</li>';
}
*/
echo '</li>';
}
只是要指出,奇怪的是,如果我在外var_dump($zona['habitacionales']);
内foreach
,我得到正确的值:array(1){[&#34; Azcapotzalco&#34; ] =&GT;字符串(1)&#34; 3&#34;但是我仍然看到通知告诉我它是一个未定义的索引,我不能使用相同的语法($ zona [&#39; habitacionales&#39;]用于条件或其他任何东西。
答案 0 :(得分:1)
假设$ Zonas是上面的那个数组,请尝试:
foreach($zona as $zone) {
foreach(array_flip($zone) as $link) {
echo '<li class="dropdownheader">'.$link;
}
var_dump($zone);
habitacionales是关键,如果你想访问它,那么使用:
foreach($zona as $key => $zone) {
$ key应该设置为habitacionales。