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

Strings und Arrays dereferenzieren?

  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.

  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

  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?

  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.

  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...

  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!

  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

  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! :)

  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.

Neues Thema Ansicht wechseln


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

Stellenmarkt
  1. DMG MORI Global Service Milling GmbH, Pfronten, Seebach
  2. Zentrum Bayern Familie und Soziales, Bayreuth
  3. KBV, Berlin
  4. Dataport, verschiedene Standorte

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 4,99€
  2. 4,99€
  3. (u. a. Division 2: Standard Edition, Call of Duty: Black Ops 4, Red Dead Redemption 2)


Haben wir etwas übersehen?

E-Mail an news@golem.de


P30 Pro im Kameratest: Huawei baut die vielseitigste Smartphone-Kamera
P30 Pro im Kameratest
Huawei baut die vielseitigste Smartphone-Kamera

Huawei will mit dem P30 Pro seinen Vorsprung vor den Smartphone-Kameras der Konkurrenez ausbauen - und schafft es mit einigen grundlegenden Veränderungen.
Ein Test von Tobias Költzsch

  1. CIA-Vorwürfe Huawei soll von chinesischer Regierung finanziert werden
  2. Huawei-Gründer "Warte auf Medikament von Google gegen Sterblichkeit"
  3. 5G-Ausbau Sicherheitskriterien führen nicht zu Ausschluss von Huawei

Falcon Heavy: Beim zweiten Mal wird alles besser
Falcon Heavy
Beim zweiten Mal wird alles besser

Die größte Rakete der Welt fliegt wieder. Diesmal mit voller Leistung, einem Satelliten und einer gelungenen Landung im Meer. Die Marktbedingungen sind für die Schwerlastrakete Falcon Heavy in nächster Zeit allerdings eher schlecht.
Von Frank Wunderlich-Pfeiffer und dpa

  1. SpaceX Raketenstufe nach erfolgreicher Landung umgekippt
  2. Raumfahrt SpaceX zündet erstmals das Triebwerk des Starhoppers
  3. Raumfahrt SpaceX - Die Rückkehr des Drachen

Swobbee: Der Wechselakku kommt wieder
Swobbee
Der Wechselakku kommt wieder

Mieten statt kaufen, wechseln statt laden: Das Berliner Startup Swobbee baut eine Infrastruktur mit Lade- und Tauschstationen für Akkus auf. Ein ähnliches Geschäftsmodell ist schon einmal gescheitert. Dieses kann jedoch aufgehen.
Eine Analyse von Werner Pluta

  1. Elektromobilität Seoul will Zweirad-Kraftfahrzeuge und Minibusse austauschen
  2. Rechtsanspruch auf Wallboxen Wohnungswirtschaft warnt vor "Schnellschuss" bei WEG-Reform
  3. Innolith Energy Battery Schweizer Unternehmen entwickelt sehr leistungsfähigen Akku

  1. Trotz US-Kampagne: Huawei steigert weiter Umsatz und Gewinnmarge
    Trotz US-Kampagne
    Huawei steigert weiter Umsatz und Gewinnmarge

    Gewinn und Umsatz wachsen bei Huawei weiter. Für das Jahr 2019 erwartet der Konzern hohe Gewinne durch 5G-Technologie. 70.000 5G-Basisstationen sind nun ausgeliefert.

  2. 5G: Swisscom refarmt UMTS-Frequenz bei 2.100 MHz
    5G
    Swisscom refarmt UMTS-Frequenz bei 2.100 MHz

    UMTS bei 2.100 MHz kann man in der Schweiz bald nicht mehr nutzen. Der Bereich geht per Refarming an effizientere 4G- und 5G-Technologien.

  3. Copyright: Nintendo hat offenbar Super Mario Bros für C64 gestoppt
    Copyright
    Nintendo hat offenbar Super Mario Bros für C64 gestoppt

    Sieben Jahre hat ein Programmierer nach eigenen Angaben an einer Umsetzung von Super Mario Bros für den C64 gearbeitet. Wenige Tage nach der Veröffentlichung verschwindet das Spiel nun schon wieder von größeren Portalen - vermutlich wegen Nintendo.


  1. 19:00

  2. 17:41

  3. 16:20

  4. 16:05

  5. 16:00

  6. 15:50

  7. 15:43

  8. 15:00