2013-05-03 12 views
19

Mein Skript funktioniert wirklich gut auf meinem XAMPP. Jetzt habe ich versucht, es auf dem Server hochzuladen, aber es spuckte direkt in meinem Gesicht aus. :(Parse-Fehler: Syntaxfehler, unerwartet '[' mit PHP 5.3

Die Linie, die um ihre spöttische ist diese:

$item = $xml->xpath($path)[0]; 

Und ich habe keine Ahnung, was falsch ist, ich auf den PHP 5.3 Changelog zu suchen versucht, aber nichts darüber gefunden (.. weil ich 5.3 auf dem Server und auf xampp sein ein olderversion)

der gesamte Codeblock sieht wie folgt aus:

$path = '//item[@id="'.$id.'"]'; 
if ($xml->xpath($path)) { 
    $item = $xml->xpath($path)[0]; 
} else { 
    die('<p class="error">Script Error: Code 101 - Please contact administrator</p>'); 
} 

ich bin dankbar für jede Hilfe, ich kann nicht seach [mit google und keine Ahnung, wo es aus, da auf xampp kommen könnte seine adaequat

+9

Sie 5.4 brauchen es wie folgt zu verwenden. in Ihrem Fall '$ item = $ xml-> xpath ($ path); $ item [0]; ' – Kin

+3

*" Ab PHP 5.4 ist es möglich, das Ergebnis einer Funktion oder eines Methodenaufrufs direkt zu referenzieren. Vorher war es nur möglich, eine temporäre Variable zu verwenden. "* http://php.net/ manual/de/language.types.array.php –

+0

$ item = $ xml-> xpath ($ path0); Ich weiß es nicht, aber funktioniert das? –

Antwort

37

Versuchen Sie, diese $item = $xml->xpath($path);
$item = $item[0];

+4

Oder Sie könnten nach> = PHP 5.4.x migrieren –

+0

Downvoted für die Förderung von Copypasta. –

Verwandte Themen