2013-12-09 4 views
0

Я хочу сохранить все значение в массиве и выйти из цикла, возможно ли это?хранить значение цикла в массиве

<?php 
    $a=array('a', 'b', 'c'); 
    foreach($a as $b) 
    { 
     for($i=0; $i<count($a); $i++) 
     { 
      $c = array(); 
      $c[$i] = $b;  
     } 

     print_r($c); 
    } 
?> 
+1

Может вы не просто '$ с = $ а, и' print_r ($ с); '? ? –

+0

Что вы пытаетесь сделать? Что касается вашего кода, вы ожидаете '$ c = array ('a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c'); '? –

+0

Каков ваш ожидаемый результат? –

ответ

1

Я сделал ошибку, если переменная массива $c=array() должна быть вне сторона петли

<?php 

    $a=array('a','b','c'); 

    $c=array(); 
    // for loop 
    for($i=0;$i<count($a);$i++){ 
     $c[$i]=$a[$i]; 
    } 
    // forEach loop 
    foreach ($a as $b){ 
     $c[]=$b; 
    } 
    // while loop 
    $x=0; 
    while($x<count($a)){ 
      $c[$x]=$a[$x]; 
      $x++; 
    } 

    print_r($c); 
?> 
0

Вы можете попробовать это, Переехал $c = array(); изнутри forloop в пределы forloop.

<?php 
    $a=array('a','b','c'); 
    foreach($a as $b){ 
     $c = array(); 
     for($i=0;$i<count($a);$i++){     
      $c[$i]=$b; 
     } 
     print_r($c); 
    } 
?> 
+0

нет. в этом я получаю '$ c [0] == 123' и' $ c [1] == 123'. Я этого не хочу. Я хочу '$ c [0] == 1',' $ c [1] == 2', '$ c [2] == 3'. Как это – krishnaTORQUE

0

Почему вы определяете массив на каждой итерации?

<?php 
$a=array('a','b','c'); 
foreach($a as $b){ 
    $c=array(); 
    for($i=0;$i<count($a);$i++){ 
    $c[$i]=$b;  
} 
print_r($c); 
} 
?> 
Смежные вопросы