php - 我如何处理非常大的数组/JS 对象?
问题描述
我有一个非常大的 JS 对象,我可以通过 curl 获取,我需要将其拆分以进一步写入 MYSQL。但是当我尝试使用 forech 循环遍历它时,我遇到了 memory_size 不足的问题。是否有任何选项可以在不增加 php 内存大小的情况下以较少的服务器负载来处理数组?这是我的代码,但它不起作用
致命错误:已用尽允许的 33554432 字节内存大小(尝试分配 20480 字节)
<?php
#ini_set('memory_limit', '-1');
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl,CURLOPT_URL,'http://img.combats.com/auction/dump.js');
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$out_shortinfo = curl_exec($curl);
$json = json_decode(str_replace('var auction_dump=', '', $out_shortinfo), true);
foreach ($json as $key=>$value) {
if($key > 0)
{
echo $value['name'].' ';
echo $value['txt'].' ';
echo $value['_auc']['id'].'<br>';
}
}
curl_close($curl);
}
?>
解决方案
试试这个兄弟
echo $value['name'].' ';
echo $value['txt'].' ';
echo $value['_auc']['id'].'<br>';
@ob_flush(); @flush();
推荐阅读
- c# - C# 登录系统仅适用于数据库的第一个值
- r - R中的表函数,数据框的值为stringAsFactor True
- python - 如何使用 BeautifulSoup4 解析数据?
- xamarin - Xamarin 表单搜索栏与选择器
- javascript - Bigcommerce - 在特定类别/产品上显示某些消息/图像
- javascript - 我可以完全停止使用 var 吗?
- python - python3中没有名为'_bz2'的模块
- javascript - 手动计算对数
- python - 为什么关系中的重复项不会违反 UniqueConstraint?
- javascript - 单击时更改类中的图像源无法设置未定义的属性'src'