我编写了一个代码来过滤json数组并打印一些元素,但是因为cpu使用过多(免费托管计划)而导致我被驱逐 你能帮我提高效率吗?也许通过使用像array_filter这样的函数 这是我的代码:
$obj = json_decode($data,true);
$elements=count($obj)-1;
for ($x = 0; $x <= $elements; $x++){
if ($obj[$x]["SymbolStateId"]==1) {
echo $obj[$x]["FirstOrderPage"]["ExchangeSymbols"]["NSCCode"];
echo ",";
echo $obj[$x]["FirstOrderPage"]["BestBuyPrice"];
echo ";";
}
}
答案 0 :(得分:0)
array_filter 允许您过滤数组元素并返回一个新数组,其中包含满足回调布尔语句的元素。
另一方面,array_walk 允许您迭代每个数组元素并为每个数组元素应用回调函数
请使用string concatenation运算符打印更多变量,不要打3个语句来打印字符串
array_walk(
array_filter(
$array,
function($item) {
return $item["SymbolStateId"] == 1;
}
),
function($item) {
echo $item["FirstOrderPage"]["ExchangeSymbols"]["NSCCode"] . "," . $item["FirstOrderPage"]["BestBuyPrice"] . ";";
},
);