您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

请问php如何快速的根据字符串进行数组访问.

2024/6/15 7:44:54发布16次查看
如:
$array=>['a'=>[ 'b'=>[ 'name'=>'张三' ]]];

请问如何实现下方的访问方式.
$arraynode = ['a','b','name'];//请问如何根据 $arraynode 变量来实现$array{$arraynode}='李四';//这样php会报错.// $array['a']['b']['name']='李四'; 类似这样的效果呢? print($array{$arraynode});//李四

谢谢.
回复内容: 如:
$array=>['a'=>[ 'b'=>[ 'name'=>'张三' ]]];

请问如何实现下方的访问方式.
$arraynode = ['a','b','name'];//请问如何根据 $arraynode 变量来实现$array{$arraynode}='李四';//这样php会报错.// $array['a']['b']['name']='李四'; 类似这样的效果呢? print($array{$arraynode});//李四

谢谢.
$arraynode = ['a','b','name'];$array=[ 'a'=>[ 'b'=>[ 'name'=>'张三' ] ]];echo $array[array_shift($arraynode)][array_shift($arraynode)][array_shift($arraynode)];
你想要的可能是
$arraynode = ['a','b','name'];$array[array_shift($arraynode)][array_shift($arraynode)][array_shift($arraynode)] = 李四;
是这样吗?
修改答案
$pointer = &$array;$found = true;foreach ($arraynode as $key) { if (isset($pointer[$key])) { $pointer = &$pointer[$key]; } else { $found = false; break; }}if ($found) { $pointer = '李四';}
长是长了点,不过适应性应该还可以。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product