3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 'ip' => '127.0.0.1', 'user_agent' => 'dkdkdk', '_id' => 'fjjfjf', 'user' => [ 'longName' => '', 'shortName' => '', 'username' => [ 'a' => 'b', 'c' => '' ] ], 'dsd' => [ 'zz' => [ 'dd' => [ 'ff' => '' ] ] ], 'dsddd' => '', 'vcv' => null, 'aavx' => 0 ]; function removeEmptyArrays(&$array){ foreach($array as $key => &$value){ if(is_array($value)) removeEmptyArrays($value); if(is_array($value) && count($value) == 0 || is_null($value) || is_string($value) && strlen($value) == 0) unset($array[$key]); } } removeEmptyArrays($array); print_r($array);
Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Array ( [ip] => 127.0.0.1 [user_agent] => dkdkdk [_id] => fjjfjf [user] => Array ( [username] => Array ( [a] => b ) ) [aavx] => 0 )

preferences:
159.29 ms | 408 KiB | 5 Q