PHP。删除部分数组

时间:2012-08-17 10:26:05

标签: php arrays

有必要删除部分数组。这是一个数组的例子:

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

变量可以基于数组中的以下值之一。 建议有'三'。需要删除一个,两个以及其他所有内容。

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

3 个答案:

答案 0 :(得分:8)

您可以{/ 3}}使用

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// $input is now array("red", "yellow")

答案 1 :(得分:4)

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

$input = array("red", "green", "blue", "yellow");
array_splice($input, $varaible, -1);
// $input is now array("red", "yellow")

答案 2 :(得分:3)

这将使用@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返回INDEX,可以是0
array_splice使用条目数作为偏移量
所以对于你的例子,数字索引0到...你需要告诉数组拼接索引+ 1