php 递归查询城市表信息,子数据在主数据的children字段里
时间: 2023-12-26 16:06:41 浏览: 111
假设你有一个城市表,其中每个城市记录都包含一个名为 `id` 的唯一标识符和一个名为 `name` 的城市名称字段,以及一个名为 `parent_id` 的字段,表示该城市的父级城市的 `id`。
首先,你需要编写一个函数来递归查询城市表信息。该函数应该接受一个参数,表示要查询的城市的 `id`,并返回该城市及其所有子城市的信息。
以下是一个示例代码:
```php
function getCityInfo($id) {
// 查询当前城市的信息
$city = queryCityInfo($id);
// 查询当前城市的所有子城市
$children = queryCityChildren($id);
// 递归查询每个子城市的信息,并将其添加到当前城市的 children 字段中
foreach ($children as $child) {
$city['children'][] = getCityInfo($child['id']);
}
return $city;
}
```
在这个函数中,你需要实现两个查询函数 `queryCityInfo()` 和 `queryCityChildren()`,分别用于查询城市信息和查询子城市信息。这些函数的实现方式将取决于你使用的数据库和数据结构。
最终,你可以使用以下代码调用该函数来查询某个城市及其所有子城市的信息:
```php
$cityInfo = getCityInfo($id);
```
其中 `$id` 是要查询的城市的 `id`。该函数将返回一个包含该城市及其所有子城市信息的数组。如果该城市没有子城市,则 `children` 字段将为空数组。
阅读全文