使用for循环将数据推入数组

4
我需要生成一个像这样的数组:
$person = array(
    array(
        "name" => "brian",
        "age" => "25"
    ),
    array(
         "name" => "simon",
         "age" => "21"
    )
);

我将这段代码放入了一个简单的for循环中:
for ($x = 0; $x <= 10; $x++) {
    $new_array = array("name"=>'Brian', "age"=>'25');
    array_push($person, $new_array);
} 

如果for循环必须重复10次,我应该有10行带有Brian姓名和年龄25的结果,但实际上我得到了这个结果:
Array ( [1] => Array ( [name] => Brian [age] => 25 ) [value] => Array ( [name] => Brian [age] => 25 ) [0] => 0 [key] => 0 ) 

我在使用array_push时出现了问题,这是我的代码有误吗? 谢谢。

无法复制:https://3v4l.org/XZGOF - undefined
2个回答

12

创建一个数组:$new_array = array();

for ($x = 0; $x <= 10; $x++) {
    $new_array[] = array("name"=>'Brian', "age"=>'25');   
}
print_r($new_array);

输出将会是:

Array ( [0] => Array ( [name] => Brian [age] => 25 ) 
    [1] => Array ( [name] => Brian [age] => 25 ) 
    [2] => Array ( [name] => Brian [age] => 25 ) 
    [3] => Array ( [name] => Brian [age] => 25 ) 
    [4] => Array ( [name] => Brian [age] => 25 ) 
    [5] => Array ( [name] => Brian [age] => 25 ) 
    [6] => Array ( [name] => Brian [age] => 25 ) 
    [7] => Array ( [name] => Brian [age] => 25 ) 
    [8] => Array ( [name] => Brian [age] => 25 ) 
    [9] => Array ( [name] => Brian [age] => 25 ) 
    [10] => Array ( [name] => Brian [age] => 25 ) 
)

0
如果您已经将人员作为单个数组,那么array_push可能会对您有所帮助,因为它允许您一次性推送多个数组:
$brian = array(
                "name" => "brian",
                "age" => "25"
        );
$simon = array(
        "name" => "simon",
        "age" => "21"
);

$persons = [];
array_push($persons, $brian, $simon);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接