本文介绍了如何使用字符串索引在PHP中动态创建数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样一个字符串:

$str = "eat.fruit.apple.good";

我必须像这样使用此数组:

I've to use this array like this:

$arr["eat"]["fruit"]["apple"]["good"] = true;

但是我不知道如何动态创建它。
谢谢
Davide

But I don't understand how can I create it dynamically.ThanksDavide

推荐答案

$str = "eat.fruit.apple.good";
// Set pointer at top of the array
$arr = array();
$path = &$arr;
// Path is joined by points
foreach (explode('.', $str) as $p)
   // Make a next step
   $path = &$path[$p];
$path = true;
print_r($arr); // $arr["eat"]["fruit"]["apple"]["good"] = true;

更新不带指针的变量:

$str = "eat.fruit.apple.good";

$res = 'true';
foreach(array_reverse(explode('.', $str)) as $i)
   $res = '{"' . $i . '":' . $res . '}';
$arr = json_decode($res, true);

这篇关于如何使用字符串索引在PHP中动态创建数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 22:54