PHP:删除特定数组元素之前的所有数组元素
嗨,我有以下阵列:PHP:删除特定数组元素之前的所有数组元素,php,arrays,loops,for-loop,Php,Arrays,Loops,For Loop,嗨,我有以下阵列: $days = array( 1=>"Sunday", 2=>"Monday", 3=>"Tuesday", 4=>"Wednesday", 5=>"Thursday", 6=>"Friday", 7=>"Saturday" ); 现在我想做一
$days = array(
1=>"Sunday",
2=>"Monday",
3=>"Tuesday",
4=>"Wednesday",
5=>"Thursday",
6=>"Friday",
7=>"Saturday"
);
现在我想做一个循环,自动删除4号之前的所有对象。
我试过这个:
$startIndex = 4;
for($i = 1; $days < $startIndex; $i++)
{
unset($days[$i]);
}
$startIndex=4;
对于($i=1;$days<$startIndex;$i++)
{
未结算(天[$i]);
}
但它不起作用。将$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);
$days=数组(
1=>“星期日”,
2=>“星期一”,
3=>“星期二”,
4=>“星期三”,
5=>“星期四”,
6=>“星期五”,
7=>“星期六”
);
$startIndex=4;
对于($i=1;$i<$startIndex;$i++)
{
未结算(天[$i]);
}
打印(天);
您的阵列
$days = array
(
1=>"Sunday",
2=>"Monday",
3=>"Tuesday",
4=>"Wednesday",
5=>"Thursday",
6=>"Friday",
7=>"Saturday"
);
循环以删除指定索引之前的所有元素
# Number to stop the unset.
$split_number =4;
# Loop through array
for($a=0;$a<sizeof($days);$a++)
{
if($a < $split_number)
# Unset element if condition is true
unset($days[$a]);
}
print_r($days);
如果您希望索引再次从0开始,可以使用
数组\u值可以使用以下方法给出较短的解决方案:
返回
Array
(
[4] => Wednesday
[5] => Thursday
[6] => Friday
[7] => Saturday
)
你看过阵列拼接
了吗?即:阵列拼接($days,0,4)代码>
$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);
Array
(
[4] => Wednesday
[5] => Thursday
[6] => Friday
[7] => Saturday
)