如果我有这样的阵列......
array('1','2','3','4','10')
...我怎么能在我提供的值的元素之前删除元素。
例如:
如果我提供了1
,那么array = (1,2,3,4,10)
如果是2
,那么array = (2,3,4,10) //Remove the numbers before 2
如果是3
,那么array = (3,4,10) //Remove the numbers before 3
如果是4
,那么array = (4,10) //Remove the numbers before 4
如果是10
,那么array = (10) //Remove all before the 10
我目前正在考虑使用if else
。但有没有办法使用某种php数组函数本身来做到这一点。
答案 0 :(得分:1)
<?php
$arr=array_slice($arr, array_search('4',array('1','2','3','4','10')));
print_r($arr);
<强> OUTPUT :
强>
Array
(
[0] => 4
[1] => 10
)
答案 1 :(得分:1)
$myArray = array('1','2','3','4','10');
$value = 3;
$key = array_search($value, $myArray);
$myNewArray = array_splice($myArray, 0, $key);
答案 2 :(得分:1)
也许这会有所帮助:
$myArray = array('1','2','3','4','10');
$x=3;
$myArray = array_splice($myArray, array_search($x, $myArray), count($myArray));
答案 3 :(得分:0)
$array = array_filter($array, function($item) use ($filterItem) {
return $item !== $filterItem;
});
将过滤掉等于$filterItem
的每个项目。 array_filter on php.net