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


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


Anzeige
  1. Entwicklungsingenieur (m/w) Software für den Bereich Firmware Smart-TV-Anwendung
    Metz Consumer Electronics GmbH, Zirndorf Raum Nürnberg
  2. (Fach-)Informatiker (m/w)
    DR. JOHANNES HEIDENHAIN GmbH, Traunreut
  3. (Junior) PHP- / Webentwickler (m/w)
    über ACADEMIC WORK, München
  4. Junior Systems Administrator (m/w)
    ANSYS Germany GmbH, Otterfing (bei München)

Detailsuche



Top-Angebote
  1. TIPP: Kingsman - The Secret Service [Blu-ray]
    11,99€
  2. TOP-PREIS: SAMSUNG UE55JU6050U, 138 cm (55 Zoll), UHD 4K, LED TV, , DVB-T, DVB-T2, DVB-C, DVB-S, DVB-S2
    799,00€ (im Preisvergleich sonst ab 1500,45€)
  3. TIPP: Fast & Furious 7 - Extended Version (inkl. Digital Ultraviolet) [Blu-ray]
    14,99€

Weitere Angebote



Haben wir etwas übersehen?

E-Mail an news@golem.de


TempleOS im Test: Göttlicher Hardcore
TempleOS im Test
Göttlicher Hardcore
  1. Windows-10-Updates Microsoft intensiviert die Geheimniskrämerei
  2. Windows-Insider-Programm Chrome hat Probleme mit Windows 10 Build 10525
  3. Microsoft Erster Insider-Build seit dem Erscheinen von Windows 10

Windows 95 im Test: Endlich lange Dateinamen!
Windows 95 im Test
Endlich lange Dateinamen!
  1. Tool Microsoft Snip erzeugt Screenshots mit Animationen und Sprachmemos
  2. Internet Explorer Notfall-Patch für Microsofts Browser
  3. Vor dem Start von Windows 10 Steigender Marktanteil für Windows 7

Game Writer: Warum Quereinsteiger selten gute Storys für Spiele schreiben
Game Writer
Warum Quereinsteiger selten gute Storys für Spiele schreiben
  1. This War of Mine Krieg mit The Little Ones auf Konsole
  2. Swapster Deutsche Börse plant Handelsplattform für Spieler
  3. Ninja Theory Hellblade und eine Heldin mit Trauma

  1. Mediapad M2 8.0: Huaweis neues 8-Zoll-Tablet im Metallgehäuse
    Mediapad M2 8.0
    Huaweis neues 8-Zoll-Tablet im Metallgehäuse

    Ifa 2015 Huawei hat den Nachfolger des Mediapad M1 8.0 vorgestellt. Die Displayauflösung des Tablets wurde erheblich erhöht und es gibt einen schnelleren Prozessor.

  2. Mad Max im Test: Sandbox voll mit schönem Schrott
    Mad Max im Test
    Sandbox voll mit schönem Schrott

    Eine frei zugängliche, teils sehr sehenswerte Riesenwüste, packende Verfolgungsjagden und Kämpfe: Das offizielle Actionspiel zur Filmserie Mad Max macht zwar längst nicht alles richtig - trotzdem finden Jäger und Sammler viel Spaß im Ödland.

  3. 2,5-Zoll-HDD: Seagate erhöht Speicherdichte auf 1 TByte pro Platter
    2,5-Zoll-HDD
    Seagate erhöht Speicherdichte auf 1 TByte pro Platter

    Bald sollen 2 TByte Kapazität in einer 7 mm flachen 2,5-Zoll-HDD verfügbar sein: Seagate hat die Speicherdichte auf 1 TByte pro Platter erhöht. Für die Playstation 4 wäre damit eine 3-TByte-HDD denkbar.


  1. 14:22

  2. 14:00

  3. 12:40

  4. 12:05

  5. 12:03

  6. 11:43

  7. 11:07

  8. 11:00