2013-04-17 129 views
1

我想知道为什么这个数组中的第一个元素是空的?为什么数组中的第一个元素是空的?

$first_names[] = array(); 
foreach ($rows as $row) { 
    $first_names[] = $row['first_name']; 
} 

var_dump($first_names);结果是:

array(15) { [0]=> array(0) { } [1]=> string(5) "Johny" [2]=> string(5) "Jacob" ...} 
+0

技术上讲,它不是空的;相反,它包含一个空数组。 –

回答

3

此行

$first_names[] = array(); 

被明确地推动空数组到的$first_names前面。这就是$array[]=...所做的;它是array_push的同义词。

我想你的意图是初始化变量为一个空的数组。对于这一点,你会简单地使用赋值运算符:

$first_names = array(); 
+0

你是完全正确的:-D快速的问题 - 我注意到,当我创建一个子数组时,我需要将它包含在foreach循环中 - 为什么? $ students [] = array($ row ['first_name'],$ row ['last_name']); –

6

$first_names[] = array();

应该是

$first_names = array();

2

初始化数组作为

$first_names = array(); 
2

它,因为你是在$first_names变量添加数组元素到第0指数是空的。

你应该尝试

$first_names = array(); 
相关问题