Php 根据提供的值删除数组元素

Php 根据提供的值删除数组元素,php,Php,如果我有一个这样的数组 array('1','2','3','4','10') 。。。如何在我提供值的元素之前删除元素 例如: 如果我提供了1那么数组=(1,2,3,4,10) 如果是2,则array=(2,3,4,10)//删除2 如果是3,则array=(3,4,10)//删除3 如果是4,则array=(4,10)//删除4 如果是10,则array=(10)//删除10 我目前正在考虑使用if-else。但是,有没有一种方法可以使用某种php数组函数本身来实现这一点。使用and 也许这会

如果我有一个这样的数组

array('1','2','3','4','10')

。。。如何在我提供值的元素之前删除元素

例如:

如果我提供了
1
那么
数组=(1,2,3,4,10)

如果是
2
,则
array=(2,3,4,10)//删除2

如果是
3
,则
array=(3,4,10)//删除3

如果是
4
,则
array=(4,10)//删除4

如果是
10
,则
array=(10)//删除10

我目前正在考虑使用
if-else
。但是,有没有一种方法可以使用某种php数组函数本身来实现这一点。

使用and

也许这会有帮助:

 $myArray = array('1','2','3','4','10');
 $x=3;
 $myArray = array_splice($myArray, array_search($x, $myArray), count($myArray));

将过滤掉所有等于
$filterItem
的项目

如果是枚举数组,请使用查找元素键,然后使用@MarkBaker。我的数组与问题中的数组类似$array=array(“1”、“2”、“3”、“4”、“10”)你的答案中有好几处混淆了。例如:$myArray和$value在第三行,偏移量在第四行。您的最终输出是提供的数字之前的数字,而它应该是后面的数字。Hmmmm,我用$value=3执行它,得到
$myArray
[3,4,10]
$myNewArray
[1,2]
我以为这是你的期望。。。如果需要,您可以放弃$myNewArray,只需使用
array\u拼接($myArray,0,$key)
更新
$myArray
Array
(
    [0] => 4
    [1] => 10
)
$myArray = array('1','2','3','4','10');
$value = 3;

$key = array_search($value, $myArray);
$myNewArray = array_splice($myArray, 0, $key);
 $myArray = array('1','2','3','4','10');
 $x=3;
 $myArray = array_splice($myArray, array_search($x, $myArray), count($myArray));
$array = array_filter($array, function($item) use ($filterItem) {
    return $item !== $filterItem;
});