在具有搜索值的元素之后从数组中删除所有元素

Remove all elements from array after element with searched value

$week_link_arr

Array
(
    [0] => 1-4_1*Oct-2015
    [1] => 5-11_2*Oct-2015
    [2] => 12-18_3*Oct-2015
    [3] => 19-25_4*Oct-2015
    [4] => 26-31_5*Oct-2015
)

$current_week_url

1-4_1*Oct-2015

尝试使用 array_search 获取密钥,如果找到则使用 unset 将其删除:

if (($key = array_search($current_week_url, $week_link_arr)) !== false) {
    unset($week_link_arr[$key]);
}

输出

Array
(
    [1] => 5-11_2*Oct-2015
    [2] => 12-18_3*Oct-2015
    [3] => 19-25_4*Oct-2015
    [4] => 26-31_5*Oct-2015
)

这将删除找到的密钥。相反,如果找到键,我需要删除后续的数组元素。键 1-4_1*Oct-2015

的预期输出
Array
(
    [0] => 1-4_1*Oct-2015
)

如果键是5-11_2*Oct-2015,那么

Array
(
    [0] => 1-4_1*Oct-2015
    [1] => 5-11_2*Oct-2015
)

在这种情况下,您的键是数组中的索引 所以你可以简单地删除这个键和数组其余部分之间的键

if (($key = array_search($current_week_url, $week_link_arr)) !== false) {
    array_splice($week_link_arr, $key, count($week_link_arr)-1);
}

你是这个意思吗?

if (($key = array_search($current_week_url, $week_link_arr)) !== false) {
      $week_link_arr = array_slice($week_link_arr, 0, $key + 1);
}