2016-07-26 9 views
1

Ich habe ein Array mit den Werten von fast 11000 Werte.Welches Szenario bewirkt, dass eine php foreach-Schleife beendet wird?

array=(1,2,3..............................., 11000) 

wenn ich versuche, das Array mit foreach iterieren, es Ausführung auf 9749. Punkt beendet und die verbleibenden nicht ausgeführt. Bitte lassen Sie mich wissen, was das Problem ist, um die Ausführung innerhalb der Schleife zu stoppen.

Hinweis: Ich habe keine Pause oder Würfel in der Schleife verwendet.

+1

kann es sein, dass max_execution_time auf untere Grenze gesetzt ist? –

+0

Zeigt es einen Fehler? – Avishake

+1

Bitte schreiben Sie den Code für die Schleife. Natürlich können wir Ihnen sonst nicht helfen! –

Antwort

0

Zuerst sollten Sie enable displaying PHP errors, weil PHP Ihnen sagen wird, was das Problem ist. Die drei häufigsten Gründe für Ihre Ausführung Anhalten sind:

  • max_execution_time - Hier wird die maximale Zeit in Sekunden ein Skript laufen darf, bevor es durch den Parser beendet wird (Standard: 30 Sekunden).

  • memory_limit - Dies legt die maximale Speichermenge in Bytes fest, die ein Skript zuweisen darf. Wenn Sie dieses Limit erreichen, wird die Ausführung angehalten.

  • xdebug.max_nesting_level - Wenn Sie xdebug aktiviert haben und rekursive Funktionen verwenden, wird die Ausführung angehalten, wenn Sie das Limit der geschachtelten Funktionen erreichen (Standard: 256).

+0

Eigentlich habe ich alle diese außer xdebug.it für 2000 Array von Werten erhöht. Für diese wird die Seite geladen. Aber für 10000 wird eine leere Seite angezeigt. Es gibt keine Fehlermeldung überhaupt, obwohl ich Codefehler-Aktivierungscodes hinzugefügt habe. –

+0

Sind Sie sicher, dass Sie Fehler aktiviert haben? Schreiben Sie etwas schlechten Code und sehen Sie, ob Fehler auftreten. Oder Sie können einfach die PHP-Fehlerprotokolldatei direkt überprüfen. – beardedlinuxgeek

+0

@ beardedlinuxgeek Ja, ich habe Speichererweiterung Fehler. –