Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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中更高效地访问和过滤数组_Php_Arrays_Json_Performance_Processing Efficiency - Fatal编程技术网

在php中更高效地访问和过滤数组

在php中更高效地访问和过滤数组,php,arrays,json,performance,processing-efficiency,Php,Arrays,Json,Performance,Processing Efficiency,我写了一段代码来过滤json数组并打印一些元素,但这对我来说是一次驱逐,因为我使用了太多的cpu(免费托管计划) 你能帮我提高效率吗?可能是通过使用数组过滤器之类的函数 这是我的密码: $obj = json_decode($data,true); $elements=count($obj)-1; for ($x = 0; $x <= $elements; $x++){ if ($obj[$x]["SymbolStateId"]==1) { echo $obj[$x]["Firs

我写了一段代码来过滤json数组并打印一些元素,但这对我来说是一次驱逐,因为我使用了太多的cpu(免费托管计划) 你能帮我提高效率吗?可能是通过使用数组过滤器之类的函数 这是我的密码:

$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 ";";

  }
}
$obj=json\u decode($data,true);
$elements=计数($obj)-1;
对于($x=0;$x使用+

array\u filter用于过滤数组元素,并返回一个新数组,其中包含满足回调布尔语句的元素

另一方面,array\u walk允许您迭代每个数组元素,并为每个数组元素应用回调函数

请使用运算符打印更多变量,不要使用3条语句打印字符串

array_walk(
    array_filter(
        $array,
        function($item) {
            return $item["SymbolStateId"] == 1;
        }
    ),
    function($item) {
        echo $item["FirstOrderPage"]["ExchangeSymbols"]["NSCCode"] . "," . $item["FirstOrderPage"]["BestBuyPrice"] . ";";
    },
);

您应该发布incomimg数据($data)和所需的输出。谢谢,它可以工作!但我如何才能发现它的效率呢?我使用microtime(true),因为代码和运行时间几乎相等!