2015-06-05 78 views

回答

2

一個襯墊,使用array_diff as

$your_array = array_diff ($your_array, [1]);

0

遍歷它,檢查和取消 -

foreach($array as $k => $v) { 
    if($v == 1) { 
     unset($array[$k]); 
    } 
} 

或者使用array_filter()

$newArr = array_filter($array, function($v) { 
    return ($v != 1); 
}); 

或者你可以使用array_flip()一些絕招 -

$temp = array_flip($array); 
unset($temp[1]); 
$array = array_flip($temp); 
2

外觀使用array_filter()

$myArray = array (1=>1,2=>2,3=>1,4=>1,5=>3,6=>1); 

$myArray = array_filter(
    $myArray, 
    function($value) { 
     return $value !== 1; 
    } 
); 
+0

您的回答給出錯誤**「解析錯誤:語法錯誤,第7行出現意外的T_FUNCTION」**。 – FatalError

+0

它工作正常。 @FatalError –

+0

@FatalError - 你使用的是什麼版本的PHP?我猜測<5.3.0 - [Demo](http://3v4l.org/MOvZD)或許你應該升級到受支持版本的PHP –

0

您還可以使用array_flip,可以使用下面的代碼:

<?php 
    $arr = array(1=>1,2=>2,3=>1,4=>1,5=>3,6=>1); 
    $arr1 = array_flip($arr); 
    unset($arr1[1]); 
    $arr = array_flip($arr1); 
    print_r($arr); 
?> 
0

使用array_search()和取消,請嘗試以下操作:

while(($key = array_search(1, $array)) !== false) { 
    unset($array[$key]); 
}