$temp1 = array_shift($data);
$temp2 = array_shift($data);
执行这两句,$data的前两个值分别赋值给$temp1,$temp2
array_shift()这个函数会移出数组第一个值,而不是复制
所以要是保留原数组值,可以先把数组拷贝给一个临时数组再从临时数组取值
楼上有三处错误
1是$i没有自减
2是应该先处理$i再输出 不然会循环3次
3是!$i ? break : $i--; 会出错
正确的应该是
$i = 2;
$temp = '';
foreach ($data as $value)
{
if($i==0)
break;
$i--;
$temp .= $value;
}
echo $temp;
$i = 2;
$temp = '';
foreach ($data as $value)
{
--$i;
$temp .= $value;
!$i ? break : null;
}