Php 为什么这个数组中的第一个元素是空的?

Php 为什么这个数组中的第一个元素是空的?,php,arrays,Php,Arrays,我想知道为什么这个数组中的第一个元素是空的 $first_names[] = array(); foreach ($rows as $row) { $first_names[] = $row['first_name']; } var\u dump($first\u name)的结果是: array(15) { [0]=> array(0) { } [1]=> string(5) "Johny" [2]=> string(5) "Jacob" ...} $first_

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

$first_names[] = array();
foreach ($rows as $row) { 
  $first_names[] = $row['first_name'];
}
var\u dump($first\u name)的结果是:

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

$first_names[]=array()

应该是


$first_names=array()

$first_names[]=array()

应该是

$first_names=array()

将数组初始化为

$first_names = array();
将数组初始化为

$first_names = array();
这条线

$first_names[] = array();
显式地将空数组推到
$first\u names
的前面。这就是
$array[]=…
所做的;它是数组推送的同义词

我认为您的意图是将变量初始化为空数组。为此,只需使用赋值运算符:

$first_names = array();
这条线

$first_names[] = array();
显式地将空数组推到
$first\u names
的前面。这就是
$array[]=…
所做的;它是数组推送的同义词

我认为您的意图是将变量初始化为空数组。为此,只需使用赋值运算符:

$first_names = array();

它是空的,因为您正在将数组元素添加到
$first\u names
变量的第0个索引中

你应该试试

$first_names = array();

它是空的,因为您正在将数组元素添加到
$first\u names
变量的第0个索引中

你应该试试

$first_names = array();

从技术上讲,它不是空的;相反,它持有一个空数组;相反,它包含一个空数组。你完全正确:-D快速提问-我注意到我需要在创建子数组时将其包含在foreach循环中-为什么$学生[]=数组($row['first\u name',$row['last\u name');你完全正确:-D快速提问-我注意到我需要在创建子阵列时将其包含在foreach循环中-为什么$学生[]=数组($row['first\u name',$row['last\u name');