我的数组看起来像这里:
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) 将返回“清理汽车”。有高优先级和低优先级节点,但会添加更多节点,如中优先级、最高优先级等......我我正在考虑删除数组中的父母(高优先级和低优先级节点)我可以使用 $array[$number] 来读取项目字符串,对吗?
使用 array_shift(),只剩下高优先级的孩子。我怎样才能让它通过每个父母?我在这里找到了一些代码,但它依赖于通过名称知道父级:删除“包装”数组(删除父级,保留子级)。如果有帮助,我的数组中的数据是使用我之前问题中的 nickb 中的代码从 CSV 读取的:Grouping CSV input by columns。
我确信解决方案是微不足道的,但是除了 foreach 循环和手动将子项添加到新数组之外还有其他方法吗?谢谢