使用索引值重复循环多次

时间:2014-05-13 08:04:36

标签: php

$ron="1,2,3";
 $oc=12;
 $ronS=explode(',', $ron);
 foreach($ronS as $rone) {
 $res[]= $rone;
 }

我希望输出如下

'1', '2', '3', '1', '2', '3', '1', '2', '3','1', '2', '3'

任何想法的朋友..

4 个答案:

答案 0 :(得分:4)

使用这个:

$val = $arr[$i % 4];

数字4是数组计数。

答案 1 :(得分:4)

$arr = // somehow get your array
$max = 10; // number of printed values
for ($i = 0; $i < $max; $i++) {
    $val = $arr[$i % count($arr)]; // get your value from array
    // do whatever you want with your value
}

答案 2 :(得分:0)

试试这个

$arr = array('one', 'two', 'three', 'four');

//$val = null;

$j=0;

for ($i = 0; $i < 10; $i++) {
    $val = $arr[$j];
    $j++;
    echo $val;
    if($j==3)$j=0;
}

答案 3 :(得分:0)

不使用循环的最简单方法是使用implode函数,如下所示:

$array = ['one', 'two', 'three', 'four'];
echo implode (', ', $array);

使用for循环和函数的更复杂的方法:

$array = ['one', 'two', 'three', 'four'];

function arrayToString(array $array){
    $length = count($array);
    $last = $length - 1;
    $str = '';

    for ($i = 0; $i < $length; $i++){
        $str .= $array[$i];
        if ($i != $last){
            $str .= ', ';
        }
    }

    return $str;
}

echo arrayToString($array);

可以通过添加substr函数的使用来简化此方法:

function arrayToString(array $array){
    $length = count($array);
    $str = '';

    for ($i = 0; $i < $length; $i++){
        $str .= "$array[$i], ";
    }

    return substr($str, 0, -2);
}

使用foreach周期和substr函数的另一种方法:

$array = ['one', 'two', 'three', 'four'];

function arrayToString(array $array){
    $str = '';
    foreach ($array as $value){
        $str .= "$value, ";
    }

    return substr($str, 0, -2);
}

echo arrayToString($array);