Benim komut dosyası bir foreach döngüsü sonra durur

3 Cevap php

My script is acting strange. After a foreach loop, the script stops. I don't have any error, any warning or notice from Apache. This is the code:

foreach($clientFact as $line)
{
    $cliTemp1[] = $line["idcliente"];
    echo "qwerty";
}
echo "123";

Ben bir "echo (qwerty") eklerseniz hiçbir şey yapmayacağım sağ döngünün sonunda, qwerty "döngü içinde, bu gösterecektir" "ama.

Ben bir şey eksik!

Teşekkürler

3 Cevap

Apache onun bir PHP hata gibi bir hata dönmek olmaz. Ekleme

error_reporting(E_ALL | E_STRICT);

Eğer olur her hatayı görebilirsiniz böylece sayfanızın üstünde çok iyi bir fikirdir. Ayrıca hata görüntüleme ve sadece komut bitiş değil hata işleyicisi olabilir.

Bu hata işleyicisi ile ilgili bir sorun varsa, eklemek

restore_error_handler();

error_reporting işlevi önce

Edit: Dizi endeksi ile ilgili yorumunuzu okudum. Bu kesinlikle belirli bir dizin her zaman durursa bir bellek sınırı PHP ulaşmış olmak gibi geliyor.

Sen kullanabilirsiniz:

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

100megs için hafıza limitini değiştirmek için. Tavsiye değil ama eğer o inşaat, yeterli bellek ile ilgili bir sorun. Daha az bellek kullanır, böylece programı refactor çalışın

$clientFact dizisi ne kadar büyük olduğunu - sözdizimi, yukarıda burada karanlıkta tam bir atış, böylece ince görünüyor? O $cliTemp1 dizisi bir bellek sınırı açma o nedenle büyük oluyor olması mümkün mü?

Belki yerine "qwerty" yankılanan daha başarıyla $clientFact tüm unsurları aracılığıyla aldığınızdan emin olmak için her tekrarında $line["idcliente"] içeriğini echo.

Bir tahmin de, beklediğiniz gibi $line s biri bir dizi değil çünkü döngü içinde bir hata ölüyoruz, ve hata gizli ediliyor. Muhtemelen önce döngü error_reporting(E_ALL) ayarlamayı deneyin, ve ini_set('display_errors', true).