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.

  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

Anzeige
Stellenmarkt
  1. Robert Bosch GmbH, Leonberg
  2. SCHOTT AG, Mitterteich
  3. Polizeiverwaltungsamt (PVA), Dresden
  4. GHM Gesellschaft für Handwerksmessen mbH, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 399,00€ (Lieferung am 10. November)
  2. 59,99€
  3. 54,85€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Oliver Stones Film Snowden: Schneewittchen und die nationale Sicherheit
Oliver Stones Film Snowden
Schneewittchen und die nationale Sicherheit
  1. US-Experten im Bundestag Gegen Überwachung helfen keine Gesetze
  2. Neues BND-Gesetz Eco warnt vor unkontrolliertem Zugriff auf deutschen Traffic
  3. Datenschützerin Voßhoff Geheimbericht wirft BND schwere Gesetzesverstöße vor

Fitbit Charge 2 im Test: Fitness mit Herzschlag und Klopfgehäuse
Fitbit Charge 2 im Test
Fitness mit Herzschlag und Klopfgehäuse
  1. Fitbit Ausatmen mit dem Charge 2
  2. Polar M600 Sechs LEDs für eine Pulsmessung
  3. Xiaomi Mi Band 2 im Hands on Fitness-Preisbrecher mit Hack-App

Osmo Mobile im Test: Hollywood fürs Smartphone
Osmo Mobile im Test
Hollywood fürs Smartphone
  1. Osmo Mobile DJI präsentiert Gimbal fürs Smartphone
  2. Hasselblad DJI hebt mit 50-Megapixel-Luftbildkamera ab
  3. DJI Flugverbotszonen in Drohnensoftware lassen sich ausschalten

  1. Up- und Download: Breites Bündnis ruft nach flächendeckender Gbit-Versorgung
    Up- und Download
    Breites Bündnis ruft nach flächendeckender Gbit-Versorgung

    Ein Bündnis, in dem das Wirtschaftsministerium sitzt, fordert hohe Datenraten überall im Land. Die Breitbandversorgung von Unternehmen im ländlichen Raum genüge nicht den Ansprüchen.

  2. Kurznachrichtendienst: Twitter bewertet sich mit 30 Milliarden US-Dollar
    Kurznachrichtendienst
    Twitter bewertet sich mit 30 Milliarden US-Dollar

    Die Eigner von Twitter fordern einen hohen Preis für den Kurznachrichtendienst - für eine Plattform, die nicht mehr wachsen kann.

  3. Microsoft: Besucher können die Hololens im Kennedy Space Center nutzen
    Microsoft
    Besucher können die Hololens im Kennedy Space Center nutzen

    Das von Nasas JPL mit Microsoft für die Hololens entwickelte Destination Mars ist für Besucher des Kennedy Space Center Visitor Complex in Florida nutzbar. Bis Ende des Jahres 2016 kann die recht beeindruckende Anwendung dort selbst erlebt werden.


  1. 15:10

  2. 13:15

  3. 12:51

  4. 11:50

  5. 11:30

  6. 11:13

  7. 11:03

  8. 09:00