2013-09-30 3 views
8

Как вставить значения в многомерный массив в php? Мне нужно добавить все больше строк в массив, используя цикл while.Вставить значения в многомерный массив php

Вот мой код:

$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++; 
} 
+0

Вам понадобится нечто вроде 'для ($ I = 0; $ <= $ р: $ я ++)' цикл внутри ваш цикл while. – TheWolf

+0

try '' $ myarray [] = array (...); '. Может потребоваться инициализировать '' $ myarray = array(); '' вне цикла, заранее. – Kita

ответ

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

thankyou somuch .. – nikki

+0

@nikki Добро пожаловать! – zavg

0
$arr = new Array(); 
while($p<$size){ 
$arr[$p]["number"] = $data[$p]; 
$arr[$p]["data"] = $kkk[1]; 
$arr[$p]["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' будет работать нормально. –

+0

'while' не работает с' range', насколько я понимаю. Это только другой способ выполнить задачу, более элегантную, IMHO :) – Armage

+0

Зачем вам нужен 'range()' хотя? –

Смежные вопросы