2017-08-08 45 views
0

我的JSON数组有3个按键,就像这样:获取JSON阵列两个键的值,并将其保存在一个单独的阵列

 $json = "[{"date":"31-07-2017","time":"15:44","amount":"0"},{"date":"30-07-2017","time":"15:44","amount":"0"},{"date":"01-08-2017","time":"22:33","amount":"40"}]" 

我使用下面的代码来提取键,即值金额:

$jdec = (json_decode($json, false));  
$jlist1 = array(); 
$jlist2 = array(); 
    foreach ($jdec as $element) { 
      $jlist[] = $jlist-> amount; 
      $jlist2[] = $jlist-> date; 
      } 

但是有可能一次提取到键值并将其保存在同一个数组中?

+0

为什么你不能把它保存在同一个数组中?你的预期产出是多少?在你的循环中,你应该使用'$ element'来代替'jlist'来获取你的值。此外,您将数额保存到名为'$ jlist'的数组中,但在上面定义了'$ jlist1'。您可以将日期保存为数组中的值,例如:'$ jlist [$ element-> date] = $ element-> amount;'只要日期不重复(或者您可以将金额相加一样)。这可能会给你一个更好的结构来处理。 –

+0

这工作,谢谢! –

+0

我继续并添加了答案。我认为这是在工作日期之后嵌套的最后一个建议。 –

回答

1

只要日期不重复(或者您可以总结金额,如果是),您可以将日期保存为数组中的值,如$jlist[$element->date] = $element->amount;。这可能会给你一个更好的结构来处理。

0
$jlist[$element->date] = $element->amount; 

Jonathan Kuhn建议完成这项工作。

相关问题