Ich würde wirklich etwas Hilfe hier zu schätzen wissen. Ich werde verrückt.Schleife durch ein Array beim Hinzufügen eines neuen Schlüssels: Wert-Paar basierend auf einem anderen Wert
I wurden folgende Daten in einem Multi-Level-arrarray
1: id: 41, parent: null, name: lucas
2: id: 52, parent: null, name: george
3: id 98: parent: 41, name: julian
...
Ich brauche diese Anordnung eine Schleife durch und eine 'childrens'
Schlüssel und Wert der Mutter während +1 jedes Mal i über einen auf diesen Wert Summieren laufen Eintrag, bei dem 'Eltern' nicht auf Null gesetzt ist. Wie erreiche ich das?
1: id: 41, parent: null, name: lucas, children: 1
Ich habe versucht, dies in einem foreach
foreach($post as $parsedPost) {
if($parsedPost['parent'] > 0){
$idChild = $parsedPost['id'];
$idParent = $parsedPost['parent'];
$post[$idParent]["childrens"]++;
}
}
Natürlich ist es eine Nachricht gibt, da der Index ['childrens']
existiert nicht. Außerdem fügt es die childrens:value
zu den ersten Kindern und nicht zu den Eltern hinzu. Warum? D:
Von wo diese '$ idPai' kam? – Saurabh
Sorry @Saurabh, es soll $ idParent sein, ich habe die Var-Namen vor dem Posten übersetzt und diesen vergessen. BEARBEITEN: –
behoben, um den Hinweis zu entfernen add 'if (! Isset ($ post [$ idParent] [' childrens ']))) {$ post [$ idParent] [' childrens '] = 0; } 'vor der Zeile, die das Inkrement enthält. – olegsv