我做了一个测试,有这个序列,如下:
$in = [
[ts->'1', data->'dado 1'];
[ts->'2', data->'dado 2'];
[ts->'3', data->'dado 3'];
]
以下步骤:
我该如何解决这些步骤?
修改
也许它可以替代解决:
//Filter ts
function filtrar($in)
{
$x = 1;
return($in['ts'] > $x);
}
//Sort ts
foreach ($in as $key => $row) {
$ts[$key] = $row['ts'];
}
array_multisort($ts, SORT_ASC, $in);
//output into Json
echo json_encode(array_filter($in, "filtrar"));
答案 0 :(得分:1)
在阅读建议链接后,我得到了一个可能的解决方案:
//Filter ts
function filtrar($in)
{
$x = 1;
return($in['ts'] > $x);
}
//Sort ts
foreach ($in as $key => $row) {
$ts[$key] = $row['ts'];
}
array_multisort($ts, SORT_ASC, $in);
//output into Json
echo json_encode(array_filter($in, "filtrar"));
在以下链接中:array_filter()和array_multisort()
答案 1 :(得分:0)
$buffer = array();
$in = json_decode($in);
foreach ($in as $row)
{
if ($row['ts'] > 1)
{
$buffer[$row['ts']] = $row;
}
}
ksort($buffer);
var_dump($buffer);
答案 2 :(得分:0)
玩得开心:)
$in = [
['ts' =>'1', 'data'=>'dado 1'],
['ts'=>'2', 'data'=>'dado 2'],
['ts'=>'3', 'data'=>'dado 3'],
];
$number = 2;
$filtered = array_filter($in , function($to_filter) use ($number) {
if($to_filter['ts'] >= $number)
return $to_filter;
});
print_r($filtered);