Abo
  1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Skriptsprachen: PHP 5.5…

Strings und Arrays dereferenzieren?

Anzeige
  1. Thema

Neues Thema Ansicht wechseln


  1. Strings und Arrays dereferenzieren?

    Autor: Schattenwerk 19.11.12 - 11:38

    Persönlich freue ich mich sehr über die Features. Vor allem finally fehlt mir unglaublich häufig.

    Jedoch stelle ich mir die Umstellung mit der Dereferenzierung schon etwas anstrengend vor. Denke, dass dies ein Punkt sein wird, wo viele Leute aufschreien werden bzgl. Kompatibilität und Co.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  2. Re: Strings und Arrays dereferenzieren?

    Autor: michiw 19.11.12 - 12:26

    Also spontan Fällt mir kein Fall ein in dem dieses Sprachfeature[1] irgendwelche Probleme mit der Abwärtskompatibilität verursachen könnte.


    [1] https://wiki.php.net/rfc/constdereference

    Benutzer wird von Ihnen ignoriert. Anzeigen

  3. Re: Strings und Arrays dereferenzieren?

    Autor: Vanger 19.11.12 - 13:09

    Ich bin mir gerade nicht ganz sicher in welchen Situationen man dieses Feature praktisch sinnvoll anwenden kann... Warum sollte ich noch bei Erstellung eines Arrays auf ein einzelnes Element dieses Arrays zugreifen wollen? Wozu definiere ich dann überhaupt ein Array und verwende nicht einfach direkt das gesuchte Element?

    Benutzer wird von Ihnen ignoriert. Anzeigen

  4. Re: Strings und Arrays dereferenzieren?

    Autor: Polecat42 19.11.12 - 13:12

    Vanger schrieb:
    --------------------------------------------------------------------------------
    > Ich bin mir gerade nicht ganz sicher in welchen Situationen man dieses
    > Feature praktisch sinnvoll anwenden kann... Warum sollte ich noch bei
    > Erstellung eines Arrays auf ein einzelnes Element dieses Arrays zugreifen
    > wollen? Wozu definiere ich dann überhaupt ein Array und verwende nicht
    > einfach direkt das gesuchte Element?

    spielst Du auf das Beispiel im Link an? Das ist, wie gesagt, nur ein Beispiel, "in echt" würde man Funktionsaufrufe verwenden:

    <?php
    $value = $this->invokeSomethingThatReturnsAnArray()['thing'];
    ?>
    zum Beispiel. Ich vermisse das sehr.

    Ein anderes Beispiel wäre, wenn man Arrays als Hilfe verwendet, zB

    <?php
    $string = 'a,csv,list';
    $firstItem = explode(',', $string)[0];
    ?>

    (ginge freilich auch besser mit strtok bspw., "but you get the idea" :)



    1 mal bearbeitet, zuletzt am 19.11.12 13:14 durch Polecat42.

    Benutzer wird von Ihnen ignoriert. Anzeigen

  5. Re: Strings und Arrays dereferenzieren?

    Autor: Polecat42 19.11.12 - 13:19

    ok, ich Idiot... die wollen das tatsächlich für Konstruktoren verwenden... ich wundere mich gerade, weil das von mir beschriebene ja schon in 5.4 geht ;)

    OK, Kommando zurück: ich verstehe vollständig Deinen Einwand und frage mich, wozu das gut sein soll...

    Benutzer wird von Ihnen ignoriert. Anzeigen

  6. Re: Strings und Arrays dereferenzieren?

    Autor: Vanger 19.11.12 - 13:32

    Der einzige Grund warum die Beispiele im Link nicht funktionieren ist, dass array() keine Funktion sondern ein Sprachkonstrukt ist. Gut, positiv daran wäre zumindest mal, dass array() sich etwas mehr wie eine Funktion verhalten würde. Da stelle ich mir aber die Frage warum man es nicht einfach direkt als Funktion implementiert. Sprachkonstrukte sind in den meisten Fällen verzichtbar und nur eine Fehlerquelle. Das hier funktioniert nämlich beispielsweise nicht:

    <?php
    $a = 'array';
    $a('foo', 'bar');
    ?>

    Ergebnis:
    > Call to undefined function array()

    Das folgende funktioniert hingegen:

    <?php
    function foo($a, $b) { echo $a.' '.$b.'!'; }
    $f = 'foo';
    $f('Hello', 'World');
    ?>

    Ergebnis:
    > Hello World!

    Benutzer wird von Ihnen ignoriert. Anzeigen

  7. Re: Strings und Arrays dereferenzieren?

    Autor: crash 19.11.12 - 14:18

    Wenn du für CSV-String/-Dateien noch mal explode()/implode() benutzt, komm ich mitm Knüppel ;)

    http://php.net/str_getcsv & http://php.net/fgetcsv

    Benutzer wird von Ihnen ignoriert. Anzeigen

  8. Re: Strings und Arrays dereferenzieren?

    Autor: Polecat42 19.11.12 - 14:46

    war doch nur ein Beispiel ;-) Ich sage: wenn nochmal jemand überhaupt CSV-Dateien/-Strings benutzt, komm *ich* middm Knüppel! :)

    Benutzer wird von Ihnen ignoriert. Anzeigen

  9. Re: Strings und Arrays dereferenzieren?

    Autor: crash 19.11.12 - 14:53

    Ach so als Export von Datenbanken ja sehr geeignet. Knüppel lieber die Leute die für ihre Schnittstellen CSV nehmen statt JSON/XML etc. ;)

    $firstItem = explode(',', $string)[0]; geht im übrigen schon immer:

    list($firstItem, ) = explode(',', $string);

    Neu ist halt nur, dass das in foreach() funktioniert.

    Benutzer wird von Ihnen ignoriert. Anzeigen

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Anzeige
Stellenmarkt
  1. LogControl GmbH, Karlsruhe und Pforzheim
  2. Versicherungskammer Bayern VKBit Betrieb GmbH, Saarbrücken
  3. Bosch Rexroth AG, Stuttgart-Bad Cannstatt
  4. Fresenius Netcare GmbH, Bad Homburg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. ab 219,90€
  2. beim Kauf eines 6- oder 8-Core FX Prozessors
  3. ab 229,00€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Galaxy Note 7 im Test: Schaut dir in die Augen, Kleine/r/s!
Galaxy Note 7 im Test
Schaut dir in die Augen, Kleine/r/s!
  1. Samsung Display des Galaxy Note 7 ist offenbar nicht kratzfest
  2. PM1643 & PM1735 Samsung zeigt V-NAND v4 und drei Rekord-SSDs
  3. Gear IconX im Test Anderthalb Stunden Trainingsspaß

Xfel: Riesenkamera nimmt Filme von Atomen auf
Xfel
Riesenkamera nimmt Filme von Atomen auf
  1. US Air Force Modifikation der Ionosphäre soll Funk verbessern
  2. Teilchenbeschleuniger Mögliches neues Boson weist auf fünfte Fundamentalkraft hin
  3. Materialforschung Glas wechselt zwischen durchsichtig und schwarz

Deus Ex Mankind Divided im Test: Der Agent aus dem Hardwarelabor
Deus Ex Mankind Divided im Test
Der Agent aus dem Hardwarelabor
  1. Summit Ridge AMDs Zen-Chip ist so schnell wie Intels 1.000-Euro-Core-i7
  2. Doom Denuvo schützt offenbar nicht mehr
  3. Deus Ex angespielt Eine Steuerung für fast jeden Agenten

  1. Apple: iPhone-Event findet am 7. September 2016 statt
    Apple
    iPhone-Event findet am 7. September 2016 statt

    Apple lädt wieder zu seinem jährlichen, spätsommerlichen Event ein, bei dem diesmal vermutlich das iPhone 7 und neue Versionen von iOS, MacOS, tvOS und watchOS vorgestellt werden. Auch die Präsentation der Apple Watch 2 wäre denkbar.

  2. Fitbit: Ausatmen mit dem Charge 2
    Fitbit
    Ausatmen mit dem Charge 2

    Fitbit stellt den Nachfolger seines meistverkauften Wearables Charge HR vor: Der Fitnesstracker Charge 2 verfügt über ein größeres Display - und soll mit individuellen Atemübungen den Puls beruhigen können. Außerdem kündigt der Hersteller den Tracker Flex 2 an, der auch fürs Schwimmen geeignet ist.

  3. Sony: Playstation 4 Slim bietet 5-GHz-WLAN
    Sony
    Playstation 4 Slim bietet 5-GHz-WLAN

    Die Slim-Version der Playstation 4 wird kleiner und in einem Punkt sogar schneller: Das Gerät soll den WLAN-Standard IEEE 802.11ac unterstützen - und damit auch das 5-GHz-Band, anders als die bislang erhältliche Konsole.


  1. 22:34

  2. 18:16

  3. 16:26

  4. 14:08

  5. 12:30

  6. 12:02

  7. 12:00

  8. 11:39