私は次のような配列を持っています
Array
(
[0] => Array
(
[id] => 81
[cata_key] => 908cbbcb86a1cf64b67c96ff
[cata_name] => Lunch
[app_key] => 2fabc0d9447c6375657dead4
[parentid] => 0
[subcategories] => Array
(
)
)
[1] => Array
(
[id] => 80
[cata_key] => baac98b4e73c05ebbf45bdc6
[cata_name] => Break Fast
[app_key] => 2fabc0d9447c6375657dead4
[parentid] => 0
[subcategories] => Array
(
[0] => Array
(
[id] => 82
[cata_key] => 5970b7afc450ef3b24573de9
[cata_name] => Rise Products
[app_key] => 2fabc0d9447c6375657dead4
[parentid] => 80
[subcategories] => Array
(
[0] => Array
(
[id] => 83
[cata_key] => 82e36d8f821e14fc8db1d4da
[cata_name] => Dosha
[app_key] => 2fabc0d9447c6375657dead4
[parentid] => 82
[subcategories] => Array
(
[0] => Array
(
[id] => 84
[cata_key] => 49730020d850439dd7de8747
[cata_name] => Masala Dosha
[app_key] => 2fabc0d9447c6375657dead4
[parentid] => 83
[subcategories] => Array
(
)
)
)
)
)
)
)
)
)
特定の内部配列 ID からルート インデックス付きサブ配列の深さを見つけたいと思います。たとえば、parentid=0 からルート インデックス付き配列の深さを見つけたいのですが、それは 1 である必要があります。parentId=0/80/82/83 からのルート インデックス付きサブ配列の深さは 4 である必要があります。
実際、私の目的は配列の深さを制限することです。深さ制限があるはずです。したがって、この配列にサブ配列を追加しようとすると、現在の配列の深さを確認する必要があります。たとえば、配列の深さの制限は 4 で、誰でも cata_name= Masala Dosha の下にサブ配列を追加しようとすると、すでに深さに達しており、新しいサブ配列を追加することはできません。しかし同時に、サブ配列を [cata_name] => lunch の下に追加できます。これは、深さが 1 しかなく、深さの制限が 4 であるためです。