我无法在网上找到答案,部分原因是因为我不知道如何搜索这个。问题是以下数组的json_encode格式:
array(1) {
[1441065600]=>
array(4) {
["high"]=>
float(1)
["low"]=>
float(1)
["close"]=>
float(1.28)
["open"]=>
float(1.35)
}
}
json_encode()中的输出是:
{"1441065600":{"high":1,"low":1,"close":1.28,"open":1.35}
但是我希望输出为:
[
[1441065600,1,1,1.28,1.35]
]
任何人都可以通过正确的方法暗示这样做吗?
无法在FileSystemWatcher找到我的解决方案,因为我需要按时间戳分组作为关键字。
答案 0 :(得分:0)
您想要实现的结果数组格式不正确 您将不得不遍历数组并创建一个新数组,其中键是值的一部分。
例如
$result = [];
foreach ($array as $key => $value)
$result[] = array_merge([$key], $value);
echo json_encode($result);
答案 1 :(得分:0)
试一试:
foreach( $array as $key => &$item )
$item = array( $key ) + array_values( $item );
echo json_encode( array_values( $array ) );
// OR
echo json_encode( current( array_values( $array ) ) ); // For array with single key
答案 2 :(得分:-1)
@Nick简单尝试这个逻辑你必须首先格式化数组然后编码该数组如下:
<?php
$arr = array(
"1441065600" => array("high" => (float)1, "low" => (float)1, "close" => (float)1.28, "open" => (float)1.35)
);
$newArr = array();
foreach ($arr as $key => $value) {
$newArr[] = $key;
foreach ($value as $key1 => $value1){
$newArr[] = $value1;
}
}
echo json_encode(array($newArr));
输出:
[[1441065600,1,1,1.28,1.35]]
请在此处查看https://eval.in/764582您想要的输出