php - 具有动态键的嵌套数组
问题描述
我有动态文件,每次上传文件时,它的名称取决于文件名,所以 jsonobj 是示例,
每次文件更改时如何回显 $obj["FILENAME"]?我需要一个动态代码
我尝试 make echo $obj[0]["url"]; 但它不会工作,
$jsonobj = '{"File.png":{"name":"File.png","url":"www.example.com/File.png"}}';
$obj = (json_decode($jsonobj,true));
echo $obj["File.png"]["url"];
解决方案
当您的文件名更改时,第一个键会更改。
因此,首先检索该密钥 ( File.png
),然后您可以使用它来输出内容:
reset($obj); // set pointer to first key
$key = key($obj); // get first key (File.png)
$url = $obj[ $key ][ 'url' ];
但是关于这是多么不切实际的评论,仍然是有道理的。
注意 从 PHP 7.3.0 开始,您可以array_key_first()
使用reset(); key()
推荐阅读
- javascript - 无法输入表单输入(wordpress 预订插件)
- java - Keycloak - 如何处理多个工作环境
- c# - C# 从 JSON 阅读器读取时,为属性“InputArguments”找到了意外的“StartObject”节点。需要一个“PrimitiveValue”节点
- vue.js - 模板vuejs中的反应式文档标题
- c - IF 条件未按预期工作 - C 语言
- c - 如何在 VSCode 上使用 GCC 进行编译和调试
- python - 如何使用 Imdbpy 库获取电影的长度?
- c - 包含比指定更多字符的数组
- android - 无法激活 Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer 类型的实例
- swift - UITableViewCell 中的方形 UIImageView 和 UITextField