首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP/MYSQL:访问字典数组中的数据

PHP/MYSQL:访问字典数组中的数据
EN

Stack Overflow用户
提问于 2018-07-10 05:49:39
回答 1查看 126关注 0票数 1

我从iphone收到一个JSON流,其中包含一些简单的字符串和数字以及一组字典。我希望使用这些字典,本质上是将每个字典中的数据存储在单独的MYSQL记录中。

为了访问JSON流中的字符串和数组,我使用了以下命令:

代码语言:javascript
复制
$jsonString = file_get_contents('php://input');
$jsonArray = json_decode($jsonString, true);
$authString = jsonArray['authstring'];
$itemsArray =  $jsonArray['itemsArray'];

这是itemsArray在发送到服务器之前的样子:

代码语言:javascript
复制
itemsArray =     (
                {
            lasttouchedstr = "2018-07-09 17:24:56";
            localiid = 6;
            iid = 0;
            title = "test";
            complete = 1;
            userid = 99;
            whenaddedstr = "2018-06-21 14:10:23";
        },
                {
            lasttouchedstr = "2018-07-09 17:24:56";
            localiid = 37;
            iid = 0;
            title = "how about this";
            userid = 88;
            whenaddedstr = "2018-07-07 16:58:31";
        },
                {
            lasttouchedstr = "2018-07-09 17:24:56";
            localiid = 38;
            iid = 0;
            title = reggiano;
            userid = 1;
            whenaddedstr = "2018-07-07 17:28:55";
        }

等。

我想我可能应该把这些字典放到一个关联数组中,以便保存它们。

然而,我正在为如何引用和获取对象而苦苦挣扎。据我所知,只要$message返回为空,下面的代码就会返回空值。

代码语言:javascript
复制
  $anitem = $jsonArray['itemsArray'][0];
$message=$anitem;
    $title = $jsonArray['itemsArray'][0].[item];
$message.=$title;

有没有人能建议正确的语法来获取这些项及其属性?

提前感谢您的任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-10 06:04:43

我觉得奇怪的是,人们将事物与字典联系在一起,而字典只不过是一个多维数组。

如果您可以阅读JSON,您会看到该变量将有一个包含每个条目的索引。

对于PHP:

代码语言:javascript
复制
foreach($jsonArray as $array){
  // note that $array is still an array:

  foreach($array as $v){
    echo "Hurray!: '$v'";
  }
}

如果它真的是一个对象(或强制转换为一个对象),那么您唯一需要更改的就是访问变量的方式(就像在任何其他语言中一样)。在PHP中,它是:

代码语言:javascript
复制
echo $jsonArray[0]->lasttouchedstr;

或者是相同的循环:

代码语言:javascript
复制
foreach($jsonArray as $v){
  echo $v->lasttouchedstr;
}

多维?

代码语言:javascript
复制
echo $jsonArray['itemsArray'][0][item]; // array
echo $jsonArray->itemsArray[0][item]; // if items array is an actual array and jsonArray an object.

大多数语言将编写为.的东西与左侧是对象联系在一起。在PHP中,它被写成->

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51254507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档