脚本宝典收集整理的这篇文章主要介绍了php – 以相反的顺序从单向数组中获取数据,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
array( 'data1' => <some data>,'next' => array( 'data2' => <some data>,'next' => array( 'data3' => <some data>,'next' => array( 'data4' => <some data>,'next' => array( 'data5' => <some data>,'next' => ..... etc to data n ); ); ); ); );
首先要更好地理解这种逆转可能会对你有所帮助.
您需要每个元素的父元素.如果您遍历下一个,则父级始终是前一个.因此,如果您将前一个元素添加为父元素,那么数组的最后一个元素就是您要查找的元素.
所以听起来很直接.更难的部分是用所谓的变量别名/引用来表达它.
让我们添加所有父项,并在遍历数组时,在引用它之后删除“下一个”条目:
/* traverse the path on 'next' and keep prevIoUs to set 'parent' of current */ $walk = &$array; // start at root node while ($walk) { if (isset($PRevIoUs)) { $walk['parent'] = &$prevIoUs; } $prevIoUs = &$walk; $hasNext = array_key_exists('next',$walk); if ($hasNext) { $walk = &$walk['next']; unset($prevIoUs['next']); } else { break; } } unset($prevIoUs);
写入最后一个元素然后将包含您正在寻找的数组.最后一个元素是$步行:
print_r($walk);
哪个给你(Demo):
Array ( [data5] => <some data5> [parent] => Array ( [data4] => <some data4> [parent] => Array ( [data3] => <some data3> [parent] => Array ( [data2] => <some data2> [parent] => Array ( [data1] => <some data1> ) ... )
希望这是有帮助的,可以理解的.
以上是脚本宝典为你收集整理的php – 以相反的顺序从单向数组中获取数据全部内容,希望文章能够帮你解决php – 以相反的顺序从单向数组中获取数据所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。