使用字符串路径设置嵌套数组数据
在此用例中,字符串输入旨在设置嵌套数组值。例如:
“cars.honda.civic = On”
此字符串应导致:
$data'cars'['civic'] = 'On' ;
虽然对输入进行标记化很简单:
$token = exploded("=",$input);
$value = trim($token[1]);
$path = trim($token[0]);
$exploded_path =exploded(". ",$path);
挑战在于设置数组而不诉诸危险的技术,例如
解决方案
解决方案涉及利用引用运算符(&)来获取连续的现有数组:
$temp = & $data;
foreach($分解为$key) {
$temp = & $temp[$key];
}
$temp = $value;
unset($temp);
此方法允许您浏览嵌套数组,而无需对每个级别进行硬编码.
以上是如何在 PHP 中使用字符串路径安全地设置嵌套数组值?的详细内容。更多信息请关注PHP中文网其他相关文章!