#php #arrays #foreach #nested
#php #массивы #foreach #вложенный
Вопрос:
сообщество stackoverflow. Ребята?) Моя цель — создать новый массив с элементом [childs], проверив, имеет ли элемент parent_id и не равен null, мне нужно добавить в этот дочерний элемент parent_id. Это работает правильно, но если элемент внутри parent_id имеет другой элемент в качестве дочернего элемента. Это не сработало. Вот моя функция
public function makeNested($source) {
$nested = array();
foreach($source AS $key => $s)
{
$s['childs'] = [];
if (is_null($s['parent_id']))
{
$nested[$s['comment_id']] = $s;
}
else {
$pid = $s['parent_id'];
$nested[$pid]['childs'][] = $s;
}
}
return array_values($nested);
}
Вот мой вывод.
{
"data": [
{
"comment_id": 1,
"page_id": 3,
"parent_id": null,
"user_id": 3,
"comment": "Hi, i am using new version of WhatsApp.",
"type_id": 4,
"first_name": "Custom name",
"last_name": "Custom name",
"photo": "images/257139.jpg",
"childs": [
{
"comment_id": 2,
"page_id": 3,
"parent_id": 1,
"user_id": 2,
"comment": "I'm a child of comment_id 1",
"type_id": 4,
"first_name": "Custom name",
"last_name": "Custom name",
"photo": null,
"childs": []
}
]
},
{
"childs": [
{
"comment_id": 33,
"page_id": 3,
"parent_id": 2,
"user_id": 1,
"comment": "I'm a child of a child. 1 comment my grandfather xD",
"type_id": 4,
"first_name": "Custom name",
"last_name": "Custom name",
"photo": null,
"childs": []
}
]
}
]
}
Комментарии:
1. кто там? ребята
2. Может ли кто-нибудь мне помочь?