cod*_*der 5 php arrays loops for-loop
嗨,我有以下数组:
$days = array(
1=>"Sunday",
2=>"Monday",
3=>"Tuesday",
4=>"Wednesday",
5=>"Thursday",
6=>"Friday",
7=>"Saturday"
);
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个循环,自动删除数字 4 之前的所有对象。
我试过这个:
$startIndex = 4;
for($i = 1; $days < $startIndex; $i++)
{
unset($days[$i]);
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
可以使用array_slice()给出更短的解决方案:
$days = array(
1=>"Sunday",
2=>"Monday",
3=>"Tuesday",
4=>"Wednesday",
5=>"Thursday",
6=>"Friday",
7=>"Saturday"
);
$startIndex = 4;
$days = array_slice($days, $startIndex-1, NULL, TRUE);
print_r($days);
Run Code Online (Sandbox Code Playgroud)
返回
Array
(
[4] => Wednesday
[5] => Thursday
[6] => Friday
[7] => Saturday
)
Run Code Online (Sandbox Code Playgroud)
将 $days 更改为 $i,因为 $i 是您的索引值。
$days = array(
1=>"Sunday",
2=>"Monday",
3=>"Tuesday",
4=>"Wednesday",
5=>"Thursday",
6=>"Friday",
7=>"Saturday"
);
$startIndex = 4;
for($i = 1; $i < $startIndex; $i++)
{
unset($days[$i]);
}
print_r($days);
Run Code Online (Sandbox Code Playgroud)