3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{"2":[ {"title":"english title","link":"english url"}, {"title":"","link":""}], "1":[ {"title":"french title","link":"french url"}, {"title":"","link":""}]}'; $links = json_decode($json, true); array_walk($links, function (&$array) { $array = array_filter($array, function ($obj) { return $obj['title'] != '' || $obj['link'] != ''; }); }); print_r($links);
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.25, 8.4.1 - 8.4.12
Array ( [2] => Array ( [0] => Array ( [title] => english title [link] => english url ) ) [1] => Array ( [0] => Array ( [title] => french title [link] => french url ) ) )

preferences:
147.88 ms | 408 KiB | 5 Q