3v4l.org

run code in 300+ PHP versions simultaneously
<?php function isItEnd($array){ return !array_key_exists('ancestors', $array); } function getThirdFromEnd($category){ if(!isItEnd($category)){ $away_from_parent = getThirdFromEnd($category['ancestors']['BrowseNode']); if($away_from_parent == 0){ $away_from_parent = $category['ancestors']['BrowseNode']; } else { $away_from_parent--; } } else { $away_from_parent = 2; } return $away_from_parent; } $category = array( "BrowseNodeId" => "11256", "name"=> "Folklore & Mythology", "ancestors" => array( "BrowseNode" => array( "BrowseNodeId" => "11232", "name"=> "Social Sciences", "ancestors" => array( "BrowseNode" => array( "BrowseNodeId" => "3377866011", "name"=> "Politics & Social Sciences", "ancestors" => array( "BrowseNode" => array( "BrowseNodeId" => "1000", "name"=> "Subjects", "IsCategoryRoot" => true, "ancestors" => array( "BrowseNode" => array( "BrowseNodeId" => "283155", "name"=> "Books", ), ), ), ), ), ), ), ), ); $cat = getThirdFromEnd($category); echo "<pre>" . print_r($cat, 1) . "</pre>";

preferences:
16.17 ms | 402 KiB | 5 Q