<?php
$raw = array(
'firstname' => 'Foo',
'lastname' => 'Bar',
'nickname' => '',
'birthdate' => array(
'day' => '',
'month' => '',
'year' => '',
),
'likes' => array(
'cars' => array('Subaru Impreza WRX STi', 'Mitsubishi Evo', 'Nissan GTR'),
'bikes' => array(),
),
);
$callback = function($item) use (&$callback) {
if (is_array($item)) {
return array_filter($item, $callback);
}
if (!empty($item)) {
return true;
}
};
var_dump(array_filter($raw, $callback));
$navigation = array(
array(
"title" => "Overzicht",
"enabled" => 0,
"submenu" => array(
array(
"title" => "Dashboard",
"url" => "dashboard/",
"module" => "Home",
"icon" => "icon-home",
"userlevel" => 0,
"enabled" => 1
),
array(
"title" => "Mijn statistieken",
"url" => "user/stats/",
"module" => "User",
"icon" => "icon-stats",
"userlevel" => 60,
"enabled" => 1
)
)
),
array(
"title" => "Acties",
"enabled" => 1,
"submenu" => array(
array(
"title" => "Alle acties",
"url" => "action/",
"module" => "Action",
"icon" => "icon-list-alt",
"userlevel" => 0,
"enabled" => 0
),
array(
"title" => "Mijn acties",
"url" => "action/:user_id/",
"module" => "Action",
"icon" => "icon-list",
"userlevel" => 60,
"enabled" => 1
),
array(
"title" => "Nieuwe actie",
"url" => "new/",
"module" => "Action",
"icon" => "icon-plus",
"userlevel" => 80,
"enabled" => 1
)
)
)
);
$filterFunc = function($arr) use (&$filterFunc) {
foreach ($arr as &$v) {
if (!$v["enabled"])
unset($v);
if (isset($v["userlevel"])) {
if (($v["userlevel"] > 60))
unset($v);
}
if (isset($v["submenu"])) {
$v["submenu"] = $filterFunc($v["submenu"]);
}
}
return $arr;
};
$navigation = $filterFunc($navigation);
var_dump($navigation);
- Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array(3) {
["firstname"]=>
string(3) "Foo"
["lastname"]=>
string(3) "Bar"
["likes"]=>
array(2) {
["cars"]=>
array(3) {
[0]=>
string(22) "Subaru Impreza WRX STi"
[1]=>
string(14) "Mitsubishi Evo"
[2]=>
string(10) "Nissan GTR"
}
["bikes"]=>
array(0) {
}
}
}
array(2) {
[0]=>
array(3) {
["title"]=>
string(9) "Overzicht"
["enabled"]=>
int(0)
["submenu"]=>
array(2) {
[0]=>
array(6) {
["title"]=>
string(9) "Dashboard"
["url"]=>
string(10) "dashboard/"
["module"]=>
string(4) "Home"
["icon"]=>
string(9) "icon-home"
["userlevel"]=>
int(0)
["enabled"]=>
int(1)
}
[1]=>
array(6) {
["title"]=>
string(17) "Mijn statistieken"
["url"]=>
string(11) "user/stats/"
["module"]=>
string(4) "User"
["icon"]=>
string(10) "icon-stats"
["userlevel"]=>
int(60)
["enabled"]=>
int(1)
}
}
}
[1]=>
array(3) {
["title"]=>
string(6) "Acties"
["enabled"]=>
int(1)
["submenu"]=>
array(3) {
[0]=>
array(6) {
["title"]=>
string(11) "Alle acties"
["url"]=>
string(7) "action/"
["module"]=>
string(6) "Action"
["icon"]=>
string(13) "icon-list-alt"
["userlevel"]=>
int(0)
["enabled"]=>
int(0)
}
[1]=>
array(6) {
["title"]=>
string(11) "Mijn acties"
["url"]=>
string(16) "action/:user_id/"
["module"]=>
string(6) "Action"
["icon"]=>
string(9) "icon-list"
["userlevel"]=>
int(60)
["enabled"]=>
int(1)
}
[2]=>
array(6) {
["title"]=>
string(12) "Nieuwe actie"
["url"]=>
string(4) "new/"
["module"]=>
string(6) "Action"
["icon"]=>
string(9) "icon-plus"
["userlevel"]=>
int(80)
["enabled"]=>
int(1)
}
}
}
}
- Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
- Parse error: syntax error, unexpected T_FUNCTION in /in/vAfdi on line 16
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
- Parse error: parse error, unexpected T_FUNCTION in /in/vAfdi on line 16
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/vAfdi on line 16
Process exited with code 255.
preferences:
232.15 ms | 401 KiB | 398 Q