前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【MindiaX实例】 PHP 在foreach 中获取JSON 单个数据

【MindiaX实例】 PHP 在foreach 中获取JSON 单个数据

作者头像
Jeff
发布2018-01-22 10:29:27
3.3K0
发布2018-01-22 10:29:27
举报
文章被收录于专栏:DeveWorkDeveWork

之前在开发MindiaX 主题的时候,遇到一个要解析远程JSON 文件的数据的问题。当时困扰我的是整型与数字字符串是否等价的问题。现在过年有时间,就记录回来。

PHP解析JSON 文件

这里的话就直接先讲结果,MindiaX 主题有一个定时自动更换背景的功能,调用的背景图是来自于http://dreamafar.qiniudn.com/destination.json,解析其中的几个名称/值组合成url。实现这部分的函数如下:

// get remote img date from json function mindiax_remote_img() {   $json_api_src ='http://dreamafar.qiniudn.com/destination.json'; $json = file_get_contents($json_api_src); $obj = json_decode($json);   foreach ($obj as $destinations => $value) { foreach ($value as $date) { $curren_id = date("d");//获取当前日期 if($date->id == $curren_id){ $file_pre = $date->alias; $count = $date->photoCount; $file_id = rand(1,$count); $url= 'http://mindiax.qiniudn.com/'.$file_pre.'_'.$file_id.'.jpg'; return $url; break; }     } } }

根据我的设定,图片设置在当天多少号就调用id为多少的图片(你可以看上面的代码),核心判断的地方:

if($date->id == $curren_id){}

当初考虑到 $date->id 输出的是字符串,$curren_id则为整型数据。比如今天为5 号,那么 '5'== 5 返回的是true 吗?原谅我一开头不懂事,理所当然认为不能成立,然后拼命去寻找PHP 中数据类型的转化等方法。后来咨询了一位师兄,给了PHP官方文档页面的说明

在coderunner 里面敲了下确实是如此:

但要是 5 === "5" 则返回 false的结果了,因为两者属于数据类型不同。这个如果学PHP 的话上面这些都是基础问题了吧,原谅我现在才知道。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/02/12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PHP解析JSON 文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档