如何将 JSON 字符串转换为数组(PHP)?

2023-12-02

使用下面的代码来解码json

$categories = json_decode($data);
$categories = $categories->data;

我从哪里得到这个

{"categories":[{"id":1,"name":"Utilities","apps":897,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/uti.jpg"},{"id":2,"name":"Productivity","apps":477,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/pro.jpg"},{"id":3,"name":"Music","apps":466,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/mus.jpg"},{"id":4,"name":"Travel","apps":289,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/tra.jpg"},{"id":5,"name":"Navigation","apps":297,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/nav.jpg"},{"id":6,"name":"Books","apps":271,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/boo.jpg"},{"id":7,"name":"Healthcare & Fitness","apps":250,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/hea.jpg"},{"id":8,"name":"Games","apps":5116,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/gam.jpg"},{"id":9,"name":"Social Networking","apps":272,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/soc.jpg"},{"id":10,"name":"Lifestyle","apps":434,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/lif.jpg"},{"id":11,"name":"Finance","apps":200,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/fin.jpg"},{"id":12,"name":"News","apps":128,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/new.jpg"},{"id":13,"name":"Photography","apps":481,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/pho.jpg"},{"id":14,"name":"Entertainment","apps":1251,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/ent.jpg"},{"id":15,"name":"Business","apps":221,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/bus.jpg"},{"id":16,"name":"Sports","apps":199,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/spo.jpg"},{"id":17,"name":"Education","apps":433,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/edu.jpg"},{"id":18,"name":"Medical","apps":262,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/med.jpg"},{"id":19,"name":"Weather","apps":64,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/wea.jpg"},{"id":20,"name":"Reference","apps":419,"iconurl":"http:\/\/static.apptrackr.org\/caticons\/ref.jpg"}]} 

我想转换成这样的数组

Array[0]
    {
       id => 1
       name => Utilities
       apps => 897
       iconurl => http:\/\/static.apptrackr.org\/caticons\/uti.jpg
    }

等等


这看起来像一个JSON 字符串。您可以使用json_解码()将其转换为 PHP 变量,例如

$obj = json_decode($json);
print_r($obj->categories); // array of StdClass objects

您可以定期访问和迭代类别数组

echo $obj->categories[0]->name; // Utilities
echo $obj->categories[1]->name; // Productivity
echo $obj->categories[2]->name; // Music

要将 StdClass 对象转换为数组,您可以这样做

$categories = array();
foreach (json_decode($json)->categories as $category) {
    $categories[] = (array) $category;
}
print_r($categories);

你也可以用拉姆达函数 and 数组映射:

// Before PHP5.3
$categories = array_map(
    create_function('$el', 'return (array) $el;'), 
    json_decode($json)->categories);

// After PHP5.3
$categories = array_map(
    function($el) { return (array) $el; }, 
    json_decode($json)->categories);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 JSON 字符串转换为数组(PHP)? 的相关文章

  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • Android:如何在播放媒体(mp3)时在特定毫秒内显示文本

    我正在尝试做一个类似卡拉 OK 的应用程序 我想在某一毫秒到来时显示一个或多个单词 例如 1148 毫秒 gt 打印 尼古拉斯 1826 毫秒 gt 打印 是 2766 毫秒 gt 打印 旧 ms gt 显示 这是我的代码 包 com ex
  • 从 numpy 数组中删除连续的 RGB 值

    我最初根据灰度图像的初始数组创建了一个子数组 从 numpy 数组中删除连续数字 https stackoverflow com questions 50743769 deleting consecutive numbers from a
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • dart中解析对象(不支持的操作:无法添加到固定长度列表)

    我有一个用户对象 当用户登录 注册时 该对象保存到云 Firestore 数据库中 因此 当用户登录时 将从数据库中检索用户对象 并且一切正常 直到我尝试对列表 usersProject 执行 添加 操作 Add the new proje
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • 从数组中删除空白元素

    当我从 ruby on Rails 表单中保存多个选择时 它似乎在前面添加了一个空白元素 我该如何删除它 该字段为 selected player utf8 gt authenticity token gt H8W7qPBezubyeU0a
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et

随机推荐

  • 将当前Git分支设为master分支

    我在 Git 中有一个存储库 我创建了一个分支 然后对主分支和分支进行了一些更改 然后 数十次提交后 我意识到分支的状态比主分支好得多 所以我希望分支 成为 主分支并忽略主分支上的更改 我无法合并它 因为我不想将更改保留在 master 上
  • 在纯 JavaScript 中实现 setTimeout() 和 setInterval()

    我有一些支持在浏览器上运行的 JavaScript 基准测试代码 但我想在 JavaScript 引擎的控制台模式下运行它 例如 V8 中的 d8 以进行测试 我为每个 DOM 变量和函数编写了空变量和函数 例如document getEl
  • CSV 文件的 Blob 字符集

    我想使用 blob 创建一个 CSV 文件 该文件应该以 ANSI 编码 但它不起作用 var blob new Blob ufeff csvFile type text csv charset windows 1252 该文件始终使用 U
  • 什么是 zip(函数式编程?)

    我最近看到了一些 Clojure 或 Scala 抱歉我对它们不熟悉 它们确实压缩了一个列表或类似的东西 什么是 zip 它来自哪里 Zip 是指采用两个输入序列并生成一个输出序列 其中使用某个函数将输入序列中同一位置的每两个元素组合起来
  • 如何计算该程序在Python中执行了多少次?

    from itertools import permutations import random import pprint import timeit start time timeit default timer count 0 def
  • 我可以使用 Zoom.translateBy 设置初始平移吗?

    我有类似的东西 zoomable call d3 zoom scaleExtent 1 Infinity translateExtent 0 0 width height on zoom handleZoom 我似乎无法直接在缩放行为上调用
  • 使用 htmlspecialchars 函数与 PDO 准备和执行

    正在使用 PHP PDO 在表单验证和数据库查询中将特殊字符转换为 HTML 实体htmlspecialchars 功能真的有必要吗 例如 我有一个带有简单登录系统的网站 或多或少类似于 username string htmlspecia
  • 是否可以在量角器调试配置(WebStorm)中指定参数

    I m using Protractor in Webstorm and in order to use parameters in the terminal I can do protractor params url http www
  • 使用 Json.NET 序列化对象列表

    我有一个如下的对象模型 将从数据库检索的数据绑定到该模型 public class Student public virtual string serialNumber set get public virtual string stude
  • Visual Studio 代码:Paperscript

    抱歉我的英语水平 你知道任何扩展或其他东西来给 paperscript 代码着色吗 paperscript 色差示例 因为你的编辑器不认识text paperscriptMIMEtype 它不知道要应用什么语法突出显示 为了避免这种情况 最
  • 描述 Assembly 中的 pop [重复]

    这个问题在这里已经有答案了 我正在学习IA32 当我思考什么时popl DEST我认为指令正在做以下事情 movl esp DEST addl 4 esp 但当我想到popl esp 尽管这可能是一个毫无意义的指令 但我认为可能有更好的方法
  • 如何打印嵌入空值的字符串,以便用“(null)”替换“\0”

    我有一个使用 memcpy 组成的字符串 展开时 如下所示 char str AAAA x00 x00 x00 x11 x11 x11 x11 x00 x00 我想打印字符串中的每个字符 如果该字符为空 则打印出来 null 作为 0 的替
  • 带有全选复选框的可扩展列表视图:组项目单击和滚动错误

    我有一个 ExpandableListView 组名称旁边有一个复选框 展开时 子项目也带有复选框 假设我有 4 个组 有 50 个孩子 当展开一个组时 我单击全选复选框 一切正常 所有复选框都被选中 并在滚动时保持其状态 但是 如果我滚动
  • “ 远程服务器返回错误:(401) 未经授权”

    我正在尝试验证我的网址是否得到响应 换句话说 我正在尝试检查该网站的身份验证是否已成功 I used HTTP Request System Net WebRequest Create http example com HTTP Respo
  • 如何在 404 Tomcat 上重定向到外部网站

    我使用的是 spring 3 Tomcat 7 In web xml我已经定义了
  • TFS 构建定义未将 mvc 应用程序部署到 IIS

    我正在尝试使用 Visual Studio 的团队资源管理器和 TFS 创建构建定义以将 MVC 站点部署到 IIS 我遵循了名为 Team Foundation Server 2010 的持续部署 的 Pluralsight 教程 我从本
  • 使用 Java 从麦克风传输音频

    我正在开发一个项目 需要我将音频从客户端的麦克风流式传输到服务器 下面显示的代码是我写的 当我同时运行客户端和服务器代码时 音频不会实时传输 事实上 来自客户端的音频存储在缓冲区中 当我终止客户端代码的执行时 来自服务器缓冲区的音频将输出到
  • Java 不稳定的并发性

    好的 我刚刚读了这个问题你在 Java 中使用过 volatile 关键字吗 并且我使用易失性变量来停止循环 我也看过这个参考资料 http www javamex com tutorials synchronization volatil
  • 如何使用java流比较两个ArrayList并通过过滤器获取list1

    我有两个类型为 List 的列表 list1 和 list2 Term long sId int rowNum long psid String name List
  • 如何将 JSON 字符串转换为数组(PHP)?

    使用下面的代码来解码json categories json decode data categories categories gt data 我从哪里得到这个 categories id 1 name Utilities apps 89