将循环值存储在数组中

时间:2013-12-09 17:45:59

标签: php for-loop foreach

我想将所有值存储在一个数组中并从循环中退出是否可能?

<?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);
    }
?>

4 个答案:

答案 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);
?>

答案 1 :(得分:0)

你可以尝试这个吗,从内部移动$c = array();循环到for循环之外。

<?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);
    }
?>

答案 2 :(得分: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);
}
?>

答案 3 :(得分:0)

使用foreach将值存储在空数组中的最佳方法。

$coll_courses = array();
foreach ($courses as $req_courses){
    $coll_courses[] = $req_courses;
}
echo "<pre>";
print_r($coll_courses);