Ich erhalte einen Fehler auf diesem Code:keep MAX Timeout-Fehler immer auf urlencode
<?php
function encode_object(&$obj) {
foreach ($obj as &$current) {
if (is_string($current) or is_object($current) or is_array($current)) {
if (is_object($current) or is_array($current)) {
encode_object($current);
}
if (is_string($current)) {
$current = urlencode($current);
}
}
}
}
?>
Dieser Code hat vor gearbeitet, aber aus irgendeinem Grund jedes Mal, wenn ein Lauf es erhalte ich:
Fatal error: Maximum execution time of 30 seconds exceeded in * on line 9
Was ich versuche, ist es, ein Objekt zu geben, es zu durchsuchen und alle Strings zu kodieren.
Ich habe mehrere Male versucht, aber halten den gleichen Fehler
Ich verwende: Apache 2.2.15.0 PHP 5.3.3 Windows 7 Ultimate bauen 7600
EDIT: Der Eingang I‘ m Eingeben ist ein Fehler, der nach dem Durchlaufen dieser Funktion in JSON umgewandelt und von JavaScript über Ajax gelesen werden soll. Die Eingabe in diesem Fall wäre:
array("error"=>
array(
"error"=>"error",
"number"=>2,
"message=>"json_encode() [<a href='function.json-encode'>function.json-encode<\/a>]: recursion detected",
"line"=>22))
Das ist ein weiterer Fehler, den ich später darum kümmern wird, aber es scheint, dass, wenn ich legte obj $ [ 'error'] [ 'message'] blah‘= '; auf dem Objekt, bevor ich es sende, funktioniert der Code gut. Also gibt es etwas über
json_encode() [<a href='function.json-encode'>function.json-encode<\/a>]: recursion detected
, dass urlencode ein Problem zu haben scheint.
Geben Sie Beispieleingabedaten an, die dies unterbrechen. – dkamins