$list_box_contents = array();
$list_box_contents[0] = array('params' => 'class="productListing-odd"');
$list_box_contents[0][] = array('params' => 'class="productListing-data"',
'text' => TEXT_NO_PRODUCTS);
我想在$list_box_contents[0][]["text"]
中创建一个值,当我编写代码if(!empty($list_box_contents[0][]["text"]))
时。我的IDE alet me有一个错误。怎么了?
答案 0 :(得分:1)
[]它不一个位置,索引或类似的东西。
使用
$list_box_contents[0][] = array('params' => 'class="productListing-data"',
'text' => TEXT_NO_PRODUCTS);
你正在推导数组,它的两个值(和键)在=
的右边,在子阵列的最后一个位置有索引0.这就是你将拥有的结构:
$list_box_contents[0] => array(VALUES-BEFORE, [last-position-key] => array('params' => 'class="productListing-data"', 'text' => TEXT_NO_PRODUCTS))
无论如何要了解会发生什么,您可以使用print_r($list_box_contents)
或var_dump($list_box_contents)
在您发布的行之后。
答案 1 :(得分:0)
当您在$list_box_contents[0][]
中分配某些内容时,您正在将后续内容分配给数组$list_box_contents[0]
中的下一个元素。所以在这种情况下,你将分配
array('params' => 'class="productListing-data"',
'text' => TEXT_NO_PRODUCTS);
指向$list_box_contents[0]
的索引0。
您无法使用$array[]
表示法引用它,因为PHP解析器不知道您要引用$array
中的哪个元素。你需要指定。