我有一个数组。
$a_input = array(1,2,3,4,5)
我想从数组中删除1。 out put是:
array(2,3,4,5);
删除2 =>输出:
array(1,3,4,5);
删除3 =>输出:
array(1,2,4,5);
..... 如何用for循环做这个?
答案 0 :(得分:0)
使用unset
。
foreach($a_input as $key => $val){
if($a_input[$key]==1) unset($a_input[$key]);
}
答案 1 :(得分:0)
试试这个
$a_input = array(1,2,3,4,5);
$cnt=count($a_input);
for($i=0;$i<$cnt;$i++){
$remove = array($i+1);
$output1=array_diff($a_input,$remove);
var_dump("<pre>",$output1);
}
答案 2 :(得分:0)
您可以使用
$array = array(1,2,3,4,5);
if (($key = array_search('1', $array)) !== false) {
unset($array[$key]);
}
答案 3 :(得分:0)
我们在数组中searching a value
如果存在,请继续get the key
,其中包含所需的值,然后unseting that value
。
<?php
ini_set('display_errors', 1);
$a_input = array(1,2,3,4,5);
$numberToSearch=2;
if(in_array($numberToSearch,$a_input))//checking whether value is present in array or not.
{
$key=array_search($numberToSearch, $a_input);//getting the value of key.
unset($a_input[$key]);//unsetting the value
}
print_r($a_input);
<强>输出:强>
Array
(
[0] => 1
[2] => 3
[3] => 4
[4] => 5
)
答案 4 :(得分:0)
您需要的是 array_filter :
$input = array(1,2,3,4,5)
$remove = 1;
$result = array_filter($input, function ($val) use ($remove) {
return $val !== $remove;
});
答案 5 :(得分:0)
您需要array_diff。
$a_input = array(1,2,3,4,5);
您可以使用以下值创建新数组:
$remove = array(1,2);
$result=array_diff($a_input,$remove);
输出:
array(3,4,5);
大多数程序员只使用这种方式。这也适用于多个元素。