2

有必要删除部分阵列。下面是一个数组的例子:

Array ( [0] => one [1] => two [2] => three [3] => four [4] => five )

该变量可以基于数组中的以下值之一。建议有“三”。需要采取一,二和其他一切删除。

是否有任何标准方法或不需要使用循环的好解决方案?

4

3 回答 3

8

你可以使用array_splice

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")
于 2012-08-17T10:28:17.227 回答
4

这将使用@JeroenMoons array_splice,但也会执行我建议的 array_search

function reduce_my_array($array, $value)
{
    // look for location of $value in $array
    $offset=array_search($value, $array);

    // if not found return original
    if($offset===false) return $array;

    // remove from the found offset to the end of the array
    return array_splice($array, $offset+1);     
}

注意: array_search
返回可以为 0 的 INDEX

于 2012-08-17T10:37:31.577 回答
4

如果不想使用循环,可以使用 array_splice。

$input = array("red", "green", "blue", "yellow");
array_splice($input, $varaible, -1);
// $input is now array("red", "yellow")
于 2012-08-17T10:29:20.700 回答