<?php $array = array ( 0 => array ( 'id' => '1', 'p_pag' => '0', 'link' => 'Contact', 'children' => array ( 0 => array ( 'id' => '2', 'p_pag' => '1', 'link' => 'Contact-County', 'children' => array ( 0 => array ( 'id' => '3', 'p_pag' => '2', 'link' => 'Contact-Town-1', 'children' => array ( ), ), ), ), ), ), ); function getLinkPathById(array $array, string $toId): ?string { foreach ($array as $row) { if ( $row['id'] === $toId || ($deeper = getLinkPathById($row['children'], $toId)) ) { return '/' . $row['link'] . ($deeper ?? null); } } return null; } echo "1: " . getLinkPathById($array, 1) . PHP_EOL; echo "2: " . getLinkPathById($array, 2) . PHP_EOL; echo "3: " . getLinkPathById($array, 3) . PHP_EOL; echo "4: " . getLinkPathById($array, 4);
You have javascript disabled. You will not be able to edit any code.