2012-06-15 3 views
0

Я использую обычный цикл, но когда я помещаю большие данные в цикл, он не работает, это их способ, который я могу сделать, чтобы разместить большие данные в массиве?Получение ошибки при получении данных при использовании большого массива PHP

$arr = array('Joe', 'Jack'); 
$arr2 = array(); 
foreach($arr as $val){ 
    $arr2[] = $val; 
} 
print_r($arr2); 

Так что, когда $arr слишком велик, я получаю никаких данных не получено сообщение об ошибке в браузере,

Любая помощь приветствуется.

ответ

3

Возможно, вы захотите посмотреть на более легкий вес SplFixedArray. Он использует регулярный непрерывный блок памяти для хранения данных, в отличие от традиционной хэш-структуры.

Второй способ играть с memory_limit параметром, но это не хорошая идея

ini_set('memory_limit', '256M'); 

Третий способ плюнуть ваш массив на куски

+0

Это полностью новая вещь для меня, нужно смотреть в нее глубже, спасибо в любом случае за вашу помощь. – thegrede

0

-Если вы используете GET , измените его на POST при обработке больших данных.

-Смена тип формы для ENCTYPE = "многослойную/форма-данные"

-Изменить post_max_size в php.ini

-Если до сих пор не работает, используйте ini_set("memory_limit","-1")

Смежные вопросы