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
)