脚本宝典收集整理的这篇文章主要介绍了php按路径选择数组,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想动态选择数组.
例如,
$oj = (object)['A' => (object)['B' => (object)['C' => (object)['D' => []]]]] $E = 'A' $oj->$E // this will work $E = 'A->B' $oj->$E // this will not work
除了写一个完整的路径,我还能做什么?或者也许请告诉我这是否可行或是否有任何我可以参考的例子?
$oj[A][B][C][D] <---NO $oj->A->B->C->D <---NO $E = A->B->C->D $oj->E <--What I want Question Update: $oj->E = 'Store something' <-What I want,then will store into $oj. //So E here is not pick up the value of D,but the path of D;
非常感谢你.
function getPath($obj,$path) { foreach(explode('->',$path) as $part) $obj = $obj->$part; return $obj; }
例
$oj = (object)['A' => (object)['B' => (object)['C' => (object)['D' => []]]]]; $E = 'A->B->C->D'; getPath($oj,$E);
eval("\$tgt=&\$oj->$E;"); // $tgt is the adress of $oj->A->B->C->D->E PRint_r($tgt); // original value of $oj->A->B->C->D->E $tgt = "foo"; print_r($oj); // $oj->A->B->C->D->E = "foo"
以上是脚本宝典为你收集整理的php按路径选择数组全部内容,希望文章能够帮你解决php按路径选择数组所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。