私の配列は次のようになります。
array(2) {
["highpriority"]=>
array(2) {
[0]=> // 1st item
array(2) {
[0]=>
string(14) "Do the laundry"
[1]=>
string(6) "Sunday"
}
[1]=> // 2nd item
array(2) {
[0]=>
string(19) "Study for math exam"
[1]=>
string(6) "Monday"
}
}
["lowpriority"]=>
array(2) {
[0]=> // 3rd item
array(2) {
[0]=>
string(15) "Get car cleaned"
[1]=>
string(9) "Next week"
}
[1]=>
array(2) { // 4th item
[0]=>
string(33) "Buy The Amazing Spider-Man on DVD"
[1]=>
string(5) "Later"
}
}
}
アイテム番号を入力して、アイテムの文字列を返す関数を作成してみました。たとえば、入力$ number = 3を指定すると、関数readItem($ number)は「Getcarcleaned」を返します。highpriorityノードとlowpriorityノードがありますが、mediumpriority、toppriorityなどのノードが追加されます... I配列(高優先度ノードと低優先度ノード)の親を削除することを考えています。$ array [$ number]を使用してアイテム文字列を読み取ることができますか?
array_shift()を使用すると、優先度の高い子のみが残ります。どうすればすべての親を通過させることができますか?ここでいくつかのコードを見つけましたが、名前で親を知ることに依存しています:「wrapping」配列を削除します(親を削除し、子を保持します)。それが役立つ場合は、私の配列へのデータは、私の前の質問のnickbからのコードを使用してCSVから読み取られます:列によるCSV入力のグループ化。
解決策は簡単だと思いますが、foreachループのほかに、子を手動で新しい配列に追加する方法はありますか?ありがとうございました