2016-08-16 1 views
0

Das ist mein Array:Filter mehrdimensionales Array von Wert in Array

$myArray = array(
    array("name"=>"Andrea", "Age"=>17), 
    array("name"=>"Tresna", "Age"=>20), 
    array("name"=>"Aria", "Age"=>12) 
); 

Ich möchte von Wert in Array, das Multi-Array filtern. Das ist mein Filter:

$filter = array("Andrea", "Aria"); 

So das Ergebnis so sein muss:

$newArray = array(
    array("name"=>"Andrea", "Age"=>17), 
    array("name"=>"Aria", "Age"=>12) 
); 

, wie wie das zu tun?

Antwort

2

Der Hinweis ist bereits da, zu Filter, verwenden Sie array_filter.

Vergessen Sie nicht, use Schlüsselwort zu verwenden, um Ihre Kriterien zu importieren.

Beispiel:

$newArray = array_filter($myArray, function($e) use ($filter){ 
               // ^import criteria 
    return in_array($e['name'], $filter); 
}); 
+0

https://3v4l.org/hGYfl – Ghost

+1

danken Ihnen so viel, das ist völlig arbeiten! –

1
$myArray = array(
    array("name"=>"Andrea", "Age"=>17), 
    array("name"=>"Tresna", "Age"=>20), 
    array("name"=>"Aria", "Age"=>12) 
); 
$filter = array("Andrea", "Aria"); 

foreach($myArray as $arr) 
{ 

    foreach($filter as $value) 
    { 
     if(in_array($value,$arr)) 
     { 
      $finalArr[]=$arr; 
     } 
    } 

} 

$ finalArr ist Ihr Ergebnis