2015-09-04 3 views
-2
$a = 1; 
$b = 1; 
while($a <= 4) { 
    $main_marks = array(); 

    while($b <= 4) { 
     $main_marks[] = 50; 
     $b++; 
    } 

    print_r($main_marks); 
    $a++; 
} 

Вывод, что я получил от этого кода:как получить данные массива с в цикле в PHP

Array (
    [0] => 50 
    [1] => 50 
    [2] => 50 
    [3] => 50 
) 
Array() 
Array() 
Array() 

Но я хочу, чтобы все переменные массива со значениями. помогите мне пожалуйста.

+0

Что с массива со значениями? Можете ли вы опубликовать свой ожидаемый результат? – aldrin27

+0

вы нажимаете 50 в '$ main_marks',' $ main_marks [] = 50; 'чего вы ожидаете? – Bender

+0

положить '$ b = 1;' внутри внешнего цикла while while? – akasummer

ответ

1

Создайте переменную вне петли.

$a = 1; 
$b = 1; 
$main_marks = array(); 
while($a <= 4) { 


    while($b <= 4) { 
     $main_marks[] = 50; 
     $b++; 
    } 

    print_r($main_marks); 
    $a++; 
} 
+0

его работа, спасибо –

+0

@LoveChaudhary Вам нужен 1 массив с 16 значениями или 4 массивами с 4 значениями? – akasummer

0
$a=0; 
$b=0; 
while($a < 4) { 
    $b = 0; 
    while($b < 4) { 
     $main_marks[$a][$b] = 50; 
     $b++; 
    } 

    $a++; 
} 
print_r($main_marks); 

Вы хотите заполнить многомерный массив для ожидаемого результата.

+0

, его не работает, но я получил пустой вывод массива, пожалуйста, дайте другой метод для решения этой проблемы код –

+0

http://ideone.com/geNfLN –

0
<? 
$main_marks = array(); 
for($a=0;$a<4;$a++) 
{ 
    for($b=0;$b<4;$b++) 
    { 
    $main_marks[$a][$b]=50; 
    } 
} 
print_r($main_marks); 
?> 

Output: 
Array 
([0] => Array ([0] => 50 [1] => 50 [2] => 50 [3] => 50) 
[1] => Array ([0] => 50 [1] => 50 [2] => 50 [3] => 50) 
[2] => Array ([0] => 50 [1] => 50 [2] => 50 [3] => 50) 
[3] => Array ([0] => 50 [1] => 50 [2] => 50 [3] => 50)) 
+0

спасибо всем за вашу помощь. –

+0

Мой код работает или нет @ LoveChaudhary? –

0

Поместите $b=1; внутри внешнего контура:

$a=1; 
while($a <= 4) { 
    $b=1; 
    $main_marks = array(); 

    while($b <= 4) { 
     $main_marks[] = 50; 
     $b++; 
    } 

    print_r($main_marks); 
    $a++; 
} 

Теперь вы сбрасываете $b счетчик для каждого массива

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