如果我想创建一个数组,该如何处理,如下例所示:

$value="test";
$array=[];
$path=[2,17,513];

现在,我想要基于可用数据构建一个数组,如下所示:

$array['2']['17']['513']='test';

有谁知道吗?

我try 了ARRAY_SHIFT来准备,但我错过了将单个数组数据转换为数组键的点.

推荐答案

在PHP中,您可以使用循环来迭代路径数组,并使用当前值作为键在每次迭代时创建新的数组级别.下面是一个例子:

$value="test";
$array=[];
$path=[2,17,513];
    
$temp = &$array;
foreach ($path as $key) {
    $temp = &$temp[$key];
}
$temp = $value;

这将创建所需的多维数组 struct ,并将最终值'test'分配给路径数组中的最后一个键.

Php相关问答推荐

PHP:从数组中获取唯一的数字组合

WooCommerce在store 页面上显示兼容多语言的产品属性

在内部API请求之后,在响应客户端之前,是否忘记了PHP中的Header()?

Mod_重写子目录中相应的php文件

目标类[Set_Locale]不存在.拉威尔

我的邮箱中的链接在我的URL中添加了一个

在指定的约束内使用随机量填充数据集

HTAccess重写一些URL,但将所有其他URL发送到另一个页面

fpm-php + nginx + POST数据

将数据推入所有子数组条目

如何在PHP中根据会话将用户重定向到不同的页面?

按类别层次 struct 过滤 Laravel 集合

如何将不同的 Woocommerce 费用合并为一个名称?

PHP API - 本地主机中的 SSL 证书问题

如何使用不同的方法编写嵌套连接查询并将两列连接成一列在 laravel 查询生成器中

跟踪通过 WooCommerce 分层定价表插件进行的购买

设置GA4 PHP API的setSubject以允许访问所有管理员账户属性

使用 GROUP_CONCAT 规范化/转置来自查询的数据

将加密/解密函数从 PHP 转换为 NodeJS

通过php在xml文件中添加 node