2017-06-11 50 views
-1

我有這樣的陣列其他數組的PHP關聯數組,如何刪除/搜索元素?

$myarr = Array (
    [0] => Array1 ([6] => 1) 
    [1] => Array1 ([1] => 1) 
    [2] => Array1 ([1] => 4) 
) 

我想刪除的元素「數組1」,其中關鍵是「1」和相關聯的該密鑰值是「4」。

+0

檢查這兩個例子,你可以使用未設置''未設置($ myArr,該[0] [5] );'' –

+1

'Array1'是**不是**的東西。 – FirstOne

+0

閱讀[PHP數組](http://php.net/manual/en/intro.array.php)。 – axiac

回答

0

你可以使用array_map

function filter($value) { 
    if(is_array($value)) { 
     foreach($value as $key=>$val) { 
      if(!($key==1 && $val==4)){ 
       return $value; 
      } 
     } 
    } 
} 
$myarr = [[6=>1],[1=>1],[1=>4]]; 
$myarr = array_filter(array_map("filter", $myarr)); 

array_filter

$myarr = [[6=>1],[1=>1],[1=>4]]; 
print_r($myarr); 
$newarr = []; 
foreach($myarr as $arr){ 
    $newarr[] = array_filter($arr, function($v, $k) { 
     return !($k == 1 && $v == 4); 
    }, ARRAY_FILTER_USE_BOTH); 
} 
$myarr = array_filter($newarr); 

可以在PHP Sandbox