将值插入到PHP多维数组中。

11

我该如何在PHP中向多维数组插入值?我需要使用while循环向数组添加更多行。

这是我的代码:

$size=10;
$p=0;
while($p<$size)
{
    $myarray = array(
        array("number"=>$data[$p],"data"=>$kkk[1],"status"=>"A"),
        array("number"=>$data[$p],"data"=>$kkk[1],"status"=>"A"));
    // Each time the loop executes, I need to add more array to myarray.
    $p++;
}

你需要在while循环内部使用类似于for($i=0;$<=$p:$i++)的循环。 - TheWolf
尝试使用“$myarray[] = array( ... );”语句。可能需要在循环之前初始化“$myarray = array();”。 - Kita
3个回答

21
$size = 10;
$p = 0;
$myarray = array();
while($p < $size) {
  $myarray[] = array("number" => $data[$p], "data" => $kkk[1], "status" => "A");
  $p++;
}

3
$my_array = array()
foreach (range($p, $size-1) as $key) {
    array_push($my_array, array(
        "number" => $data[$key], 
        "data" => $kkk[1], 
        "status" => "A",
    ));
}

1
为什么这里需要使用 foreach? while 循环也可以很好地工作。 - Amal Murali
据我所知, while 不能与 range 一起使用。这只是另一种更优雅的执行任务的方式,我个人认为 :) - Armage
你为什么需要使用 range() 呢? - Amal Murali
我不明白你的问题。range有问题吗? - Armage
这里没有问题,但说实话我认为这不是必要的。 - Amal Murali

-1
$arr = new Array();
while($p<$size){
$arr[$p]["number"] = $data[$p];
$arr[$p]["data"] = $kkk[1];
$arr[$p]["status"] = "A";

$p++;
}

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