Abo Login
  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


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Anzeige
  1. Informatiker / Application-Manager EAI/BI (m/w)
    TransnetBW GmbH, Wendlingen bei Stuttgart
  2. PHP-Entwickler (m/w)
    arboro GmbH, Schwaigern bei Heilbronn
  3. Mitarbeiter (m/w) im 1st Level Support
    CONJECT AG, München
  4. IT-Referent (m/w)
    AOK-Bundesverband, Berlin

 

Detailsuche



Top-Angebote
  1. TIPP: 4 Blu-rays für 30 EUR
    (u. a. Terminator 3, Kill the Boss 2, Elysium, Captain Phillips)
  2. NUR BIS SONNTAG: Kindle, 15,2 cm (6") Touchscreen ohne Spiegeleffekte, WLAN - mit Spezialangeboten
    45,00€ statt 59,99€
  3. JETZT VERFÜGBAR: Windows 10 Pro (64 Bit)
    149,90€

 

Weitere Angebote



Haben wir etwas übersehen?

E-Mail an news@golem.de


Kepler-452b: Die "zweite Erde", die schon wieder keine ist
Kepler-452b
Die "zweite Erde", die schon wieder keine ist
  1. Weltraumteleskop Kepler entdeckt Supererde in der habitablen Zone

Pixars Inside Out im Dolby Cinema: Was blenden soll, blendet auch
Pixars Inside Out im Dolby Cinema
Was blenden soll, blendet auch
  1. Ultra HD Blu-ray Es geht bald los mit 4K-Filmen auf Blu-ray

Neue WLAN-Router-Generation: Hohe Bandbreiten mit zweifelhaftem Nutzen
Neue WLAN-Router-Generation
Hohe Bandbreiten mit zweifelhaftem Nutzen
  1. EA8500 Linksys' MU-MIMO-Router kostet 300 Euro
  2. Aruba Networks 802.11ac-Access-Points mit integrierten Bluetooth Beacons
  3. 802.11ac Wave 2 Neue Chipsätze für die zweite Welle von ac-WLAN

  1. Tor-Netzwerk: Öffentliche Bibliotheken sollen Exit-Relays werden
    Tor-Netzwerk
    Öffentliche Bibliotheken sollen Exit-Relays werden

    Geht es nach den Plänen des Library-Freedom-Projekts sollen künftig alle öffentlichen Bibliotheken in den USA einen Exit-Server für das Tor-Netzwerk bereitstellen.

  2. Bitcoin: Mt.-Gox-Gründer Mark Karpelès verhaftet
    Bitcoin
    Mt.-Gox-Gründer Mark Karpelès verhaftet

    Der ehemalige Chef der insolventen Bitcoin-Börse Mt. Gox ist von der japanischen Polizei verhaftet worden. Er soll die Computersysteme manipuliert haben, um sich 1 Million US-Dollar zu überweisen.

  3. Windows 10: Microsoft gibt Enterprise-Version frei
    Windows 10
    Microsoft gibt Enterprise-Version frei

    Kunden mit Volumenlizenzen können nun Windows 10 Enterprise nutzen. Außerdem gibt es eine 90-Tage-Testversion. Die Enterprise-Version bietet zudem Neuerungen wie Device Guard, mit denen die Auswirkungen von Zero-Day-Exploits minimiert werden sollen.


  1. 12:40

  2. 12:00

  3. 11:22

  4. 10:34

  5. 09:37

  6. 18:46

  7. 17:49

  8. 17:26