2016-06-30 20 views
0

Was ist die klügste Art, dieses multidimensionale Array zu filtern, um nur die Arrays mit ['virtual'] == true zu erhalten?Arrays: Filter basierend auf inneren Arrays Werte

array (size=3) 
    0 => 
    array (size=13) 
     'name' => string 'name' (length=4) 
     'label' => string 'Nombre' (length=6) 
     'sortable' => string 'true' (length=4) 
     'property_to_show' => boolean false 
     'image' => boolean false 
     'virtual' => boolean false <<<<<<<<< 
     'filter_parameter' => boolean false 
     'link' => boolean false 
     'entity' => boolean false 
     'boolean' => boolean false 
     'route_parameters' => string 'id' (length=2) 
     'text' => string '' (length=0) 
     'route' => string '' (length=0) 
    1 => 
    array (size=14) 
     'virtual' => string 'true' (length=4) <<<<<<<<<<< 
     'label' => string 'Usuarios' (length=8) 
     'link' => boolean true 
     'class' => string 'DefaultBundle:User' (length=18) 
     'entity' => string 'User' (length=4) 
     'filter_parameter' => string 'company' (length=7) 
     'text' => string 'ver' (length=3) 
     'sortable' => boolean false 
     'name' => string '' (length=0) 
     'property_to_show' => boolean false 
     'image' => boolean false 
     'boolean' => boolean false 
     'route_parameters' => string 'id' (length=2) 
     'route' => string '' (length=0) 
    2 => 
    array (size=14) 
     'virtual' => string 'true' (length=4) <<<<<<<< 
     'label' => string 'Productos exclusivos' (length=20) 
     'link' => boolean true 
     'class' => string 'DefaultBundle:Product' (length=21) 
     'entity' => string 'Product' (length=7) 
     'filter_parameter' => string 'company' (length=7) 
     'text' => string 'ver' (length=3) 
     'sortable' => boolean false 
     'name' => string '' (length=0) 
     'property_to_show' => boolean false 
     'image' => boolean false 
     'boolean' => boolean false 
     'route_parameters' => string 'id' (length=2) 
     'route' => string '' (length=0) 
+1

wie sollte ' 'virtuelle' => string‚behandelt werden false''? auch, '' virtual '=> string' 0.00'' ...? – RomanPerekhrest

Antwort

3

Sie können Array-Filter für diesen Einsatz:

array_filter($array, function($value) { 
    return !empty($value['virtual']); 
}); 
+1

'! Empty ($ value ['virtual'])' überprüft bereits, dass '$ value ['virtual']' ist true –

+0

Ah, Sie korrigieren, wird bearbeiten :) – Farkie

Verwandte Themen