$data = [ ['id' => 1,'pid' => 0,'name' => '销售部'], ['id' => 2,'pid' => 0,'name' => '技术部'], ['id' => 3,'pid' => 2,'name' => '前端'], ['id' => 4,'pid' => 1,'name' => '电话销售'], ['id' => 5,'pid' => 2,'name' => '后端'], ['id' => 6,'pid' => 1,'name' => '电商销售'], ['id' => 7,'pid' => 5,'name' => 'php'], ['id' => 8,'pid' => 7,'name' => 'php子部门'], ['id' => 9,'pid' => 6,'name' => '淘宝销售'], ['id' => 10,'pid' => 4,'name' => '打电话员'], ];
Dicapai sebagai:
$data = [ ['id' => 1,'pid' => 0,'name' => '销售部','level' => 0], ['id' => 4,'pid' => 1,'name' => '电话销售','level' => 1], ['id' => 10,'pid' => 4,'name' => '打电话员','level' =>2], ['id' => 6,'pid' => 1,'name' => '电商销售','level' => 2], ['id' => 9,'pid' => 6,'name' => '淘宝销售','level' =>1], ['id' => 2,'pid' => 0,'name' => '技术部','level' => 0], ['id' => 3,'pid' => 2,'name' => '前端','level' => 1], ['id' => 5,'pid' => 2,'name' => '后端','level' => 1], ['id' => 7,'pid' => 5,'name' => 'php','level' => 2], ['id' => 8,'pid' => 7,'name' => 'php子部门','level' => 3], ];
Mula-mula dapatkan pasangan perhubungan tatasusunan sepadan dengan pid sebagai kunci
Tulis fungsi rekursif
Panggil: buildArr($a1, 0, 0);
Kemudian gelung untuk mendapatkan kandungan $a1
Pertama sekali, anda perlu menjelaskan bahawa tidak boleh ada rujukan bulat Contohnya, id=0 pid=1 dan id=1 pid=0 tidak boleh wujud pada masa yang sama struktur dan akhirnya cara melintasi setiap pokok , urutan depan, tengah, belakang, lintasan aras, dll., ia sangat mudah