3v4l.org

run code in 300+ PHP versions simultaneously
<?php $input = [ 'a' => 'value a', 'b' => [ 1 => [], 2 => 'value b2', 3 => [ 'x' => 'value x', 'y' => [ 'value z', '' ] ], 'c' => '' ], 'c' => '' ]; function findEmpties($input, $currentLevel = null) { static $empties = []; foreach ($input as $key => $value) { $levelItem = $currentLevel ? "{$currentLevel}[{$key}]" : $key; if (empty($value)) { $empties['empty'][] = $levelItem; } else { if (is_array($value)) { findEmpties($value, $levelItem); } } } return $empties; } print_r(findEmpties($input));

preferences:
37.47 ms | 404 KiB | 5 Q