Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-从API提供的字符串创建数组_Php_Arrays - Fatal编程技术网

PHP-从API提供的字符串创建数组

PHP-从API提供的字符串创建数组,php,arrays,Php,Arrays,我有一个字符串,包含从动态API返回的字符串,该字符串的示例如下: [[[1473261033000,3.7933],[1473312464000,2.0295],[1473313206000,2.0844],[1473313505000,1.4888],[1473313805000,1.3003],[1473314105000,1.1164]]] 我真的不能这样处理它,所以我想将它分成两个数组,一个用于第一个数字,一个用于第二个数字,如下所示: 阵列1 1473261033000 14733

我有一个字符串,包含从动态API返回的字符串,该字符串的示例如下:

[[[1473261033000,3.7933],[1473312464000,2.0295],[1473313206000,2.0844],[1473313505000,1.4888],[1473313805000,1.3003],[1473314105000,1.1164]]]
我真的不能这样处理它,所以我想将它分成两个数组,一个用于第一个数字,一个用于第二个数字,如下所示:

阵列1

1473261033000 1473312464000 1473313206000 1473313505000 1473313805000 1473314105000 阵列2

3.7933 2.0295 2.0844 1.4888 1.3003 1.1164
有人能帮我解决这个问题吗?这让我抓狂。

您需要首先将JSON字符串解码为一个数组,然后使用来提取这两个数组

这将需要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);

请参阅以获取演示。

您需要首先将JSON字符串解码为一个数组,然后使用来提取这两个数组

这将需要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);
请参见演示。

好!json_解码将其转换为数组。它是否对你有用取决于你想对数据做什么,不是吗

我想知道你为什么要把它分成两个数组。把它放在一个盒子里不是更容易吗

<?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);
?>
嗯!json_解码将其转换为数组。它是否对你有用取决于你想对数据做什么,不是吗

我想知道你为什么要把它分成两个数组。把它放在一个盒子里不是更容易吗

<?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);
?>

使用json_decode?使用json_decode?哦,snap,这很有效,现在可以在两个数组中的特定点插入一个值吗?@BigJobbies看到你的a rockstar,我非常感谢你的帮助哦,snap,这很有效,现在可以在两个数组中的特定点插入一个值吗?@BigJobbies看到你的a rockstar,我真的很感谢你的帮助