我有一个字符串,其中包含从动态API返回的字符串,如下所示:
[[[1473261033000,3.7933],[1473312464000,2.0295],[1473313206000,2.0844],[1473313505000,1.4888],[1473313805000,1.3003],[1473314105000,1.1164]]]
我不能像这样对它做任何事情所以我想将它分成2个数组,一个用于第一个数字,一个用于第二个数字,如下所示:
数组1
ARRAY2
有人会帮我解决这个问题吗?它让我疯狂。
答案 0 :(得分:5)
首先需要将JSON字符串解码为数组,然后使用array_column
提取两个数组。
这将需要PHP> = 5.5,但如果您需要较低版本,那么您应该能够在文档页面上找到该功能的向后兼容版本。
<?php
$str = '[[[1473261033000,3.7933],[1473312464000,2.0295],[1473313206000,2.0844],[1473313505000,1.4888],[1473313805000,1.3003],[1473314105000,1.1164]]]';
$json = json_decode($str, true)[0];
$first = array_column($json, 0);
$second = array_column($json, 1);
print_r($first);
print_r($second);
请参阅https://eval.in/637961了解演示。
答案 1 :(得分:0)
嘛! json_decode()
将其转换为数组。它是否对你有用取决于你想要对数据做什么,不是吗?
我想知道为什么要将它拆分为两个数组。是不是更容易将它保持在一个?
<?php
$val = '[[[1473261033000,3.7933],[1473312464000,2.0295],[1473313206000,2.0844],[1473313505000,1.4888],[1473313805000,1.3003],[1473314105000,1.1164]]]';
$myData = json_decode($val);
var_dump($myData);
?>