php/mysql:访问字典数组中的数据

tpxzln5u  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(259)

我从iphone接收到一个json流,其中包含一些简单的字符串和数字以及一组字典。我希望使用这些字典,本质上,将每个字典中的数据存储在一个单独的mysql记录中。
为了从json流访问字符串和数组,我使用以下方法:

$jsonString = file_get_contents('php://input');
$jsonArray = json_decode($jsonString, true);
$authString = jsonArray['authstring'];
$itemsArray =  $jsonArray['itemsArray'];

这是什么 itemsArray 在发送到服务器之前:

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 回来时是空的。

$anitem = $jsonArray['itemsArray'][0];
$message=$anitem;
    $title = $jsonArray['itemsArray'][0].[item];
$message.=$title;

有人能建议正确的语法来获取这些项及其属性吗?
提前谢谢你的建议。

iqjalb3h

iqjalb3h1#

我觉得奇怪的是,人们把事物和字典联系起来,而字典只不过是一个多维数组。
如果您可以读取json,您会看到变量将有一个包含每个条目的索引。
对于php:

foreach($jsonArray as $array){
  // note that $array is still an array:

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

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

echo $jsonArray[0]->lasttouchedstr;

或者是同一个循环:

foreach($jsonArray as $v){
  echo $v->lasttouchedstr;
}

多维的?

echo $jsonArray['itemsArray'][0][item]; // array
echo $jsonArray->itemsArray[0][item]; // if items array is an actual array and jsonArray an object.

大多数语言把书写的东西作为一个整体联系起来 . 左边是个物体。在php中,它被写成 -> .

相关问题