2

我是新手,谁能解决我的问题?这是我的代码:

<?php

$data = array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
$datastart = 3;
$string = join(',', $data);
echo $string;

?>

这个回声将是结果:

Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday 

我想要这样的结果:

Wednesday,Thursday,Friday,Saturday,Sunday,Monday,Tuesday

谢谢你的回答:)

4

1 回答 1

1

您可以使用array_slice以按照要输出的顺序提取数组的部分,然后array_merge将它们重新组合在一起:

$data = array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
$datastart = 3;
$string = implode(',', array_merge(array_slice($data, $datastart), array_slice($data, 0, $datastart)));
echo $string;

或者你可以使用一个简单的for循环:

$len = count($data);
$string = '';
for ($i = 0; $i < $len; $i++) {
    $string .= ($i > 0 ? ',' : '') . $data[($i + $datastart) % $len];
}
echo $string;

输出:

Wednesday,Thursday,Friday,Saturday,Sunday,Monday,Tuesday

3v4l.org 上的演示

于 2020-01-05T07:34:13.913 回答