3v4l.org

run code in 300+ PHP versions simultaneously
<?php function find_value_by_key($key,$array) { $data = array('key'=>$key,'ret'=>false); array_walk_recursive($array,function($v,$k) use (&$data) { if ($data['ret']) return; if ($k==$data['key'] and $v) $data['ret'] = $v; },$data); return $data['ret']; } $array = [ 'foo' => '0', 'bar' => [ 'boo' => 'two', 'foo' => null, 'loo' => [ 'foo' => 0, ], ], 'goo' => [ 'foo' => '', ] ]; var_export( find_value_by_key('foo', $array) );
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
false

preferences:
111.41 ms | 402 KiB | 89 Q