[心情好就记录] 输入一个id,获取多维数组下的层级名称(例如分类)

85 阅读1分钟
------PHP-----

$json = [
    [
        "id" => 1000,
        "name" => '分类名',
        "children" => [],
    ]
];

$text_arr = [];
function search($json, $id, &$text_arr)
{	
	foreach($json as $arr) {
		array_push($text_arr, $arr['name']);
		if(array_key_exists('children', $arr)) {
			if(search($arr['children'],$id, $text_arr)) {
				return true;
			}
		}
		if ($arr['id'] == $id){
			$text_arr = $text_arr;
			return true;
		} else {
			array_pop($text_arr);
		}
		
	}
	return false;
}
$res = search($json, $id, $text_arr);
echo implode('>', $text_arr);