Arrayindex direkt an Funktionsaufruf anhängen

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukas.

    Arrayindex direkt an Funktionsaufruf anhängen

    Hallo,
    ich habe folgende Frage zu PHP:

    Wenn ich schreibe:

    PHP-Quellcode

    1. echo test()[1];
    2. function test() {
    3. return array('bla','foo','lol','etc');
    4. }
    kommt

    PHP schrieb:

    Parse error: syntax error, unexpected '[', expecting ',' or ';' in C:\xampp\htdocs\test.php on line 3*
    Schreibe ich dagegen über "Umwege"

    PHP-Quellcode

    1. $x = test();
    2. echo $x[1];
    3. function test() {
    4. return array('bla','foo','lol','etc');
    5. }
    erhalte ich, wie erwartet

    PHP schrieb:

    foo

    Die Frage dazu: Warum funktioniert die erste Variante nicht (rein interessehalber, funktionieren tut ja auch die 2. Variante)? In anderen Programmiersprachen ist es doch eigentlich auch kein Problem, das so ähnlich zu verwenden?

    Gruß, BjöNi


    *) Hier Zeile 1
    PHP kann sowas erst ab Version 5.4.

    php.net/manual/en/language.types.array.php#example-88
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    NULL ist ja auch kleiner als -1, aber trotzdem gleich 0. PHP hat tausende solcher Anomalien, nicht nur in Bezug darauf, was man von ungefähr jeder anderen Sprache gewohnt ist. Deshalb hatte mich dieser Fehler auch mal irritiert.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.