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. UX Designer für Mobile Apps (m/w)
    Daimler AG, Ulm
  2. Senior Information Security Lead (m/w)
    TUI Business Services GmbH, Hannover oder Crawley (England)
  3. Consultant (m/w) Business Intelligence (Reporting)
    T-Systems on site services GmbH, Nürnberg
  4. Leiter (m/w) Entwicklungsgruppe - Embedded Software Design
    SICK AG, Waldkirch bei Freiburg im Breisgau

Detailsuche



Anzeige


Haben wir etwas übersehen?

E-Mail an news@golem.de


Oracle vs. Google: Wie man Geschworene am besten verwirrt
Oracle vs. Google
Wie man Geschworene am besten verwirrt
  1. Java-Rechtsstreit Oracle verliert gegen Google
  2. Oracle vs. Google Wie viel Fair Use steckt in 11.000 Codezeilen?

GPD XD im Test: Zwischen Nintendo 3DS und PS Vita ist noch Platz
GPD XD im Test
Zwischen Nintendo 3DS und PS Vita ist noch Platz
  1. Xbox Scorpio Schneller als Playstation Neo und mit Rift-Unterstützung
  2. Playstation 4 Rennstart für Gran Turismo Sport im November 2016
  3. AMD Drei Konsolen-Chips für 2017 angekündigt

Intels Compute Stick im Test: Der mit dem Lüfter streamt (2)
Intels Compute Stick im Test
Der mit dem Lüfter streamt (2)
  1. Stratix 10 MX Alteras Chips nutzen HBM2 und Intels Interposer-Technik
  2. Apple Store Apple darf keine Geschäfte in Indien eröffnen
  3. HBM2 eSilicon zeigt 14LPP-Design mit High Bandwidth Memory

  1. Section Control: Bremsen vor Blitzern soll nicht mehr vor Bußgeld schützen
    Section Control
    Bremsen vor Blitzern soll nicht mehr vor Bußgeld schützen

    Schnelles Abbremsen vor der Radarfalle soll Autofahrer bald nicht mehr vor Bußgeldern schützen. Mit Section Control kann auf einer Strecke gemessen werden, ob der Fahrer im Durchschnitt zu schnell war. Dazu gibt es bald einen Pilotversuch in Deutschland.

  2. Beam: ISS-Modul erfolgreich aufgeblasen
    Beam
    ISS-Modul erfolgreich aufgeblasen

    Im zweiten Anlauf ist es gelungen, das neue Modul für die ISS aufzublasen. Der erste Versuch am Tag davor wurde abgebrochen, nachdem sich das Modul nicht so weit ausdehnt hatte wie erhofft.

  3. Arbeitsbedingungen: Apple-Store-Mitarbeiterin gewährt Blick hinter die Kulissen
    Arbeitsbedingungen
    Apple-Store-Mitarbeiterin gewährt Blick hinter die Kulissen

    Eine frühere Apple-Store-Mitarbeiterin berichtet von ihrer Arbeit und gibt neue Einblicke. Sie enthüllt die geringen Aufstiegschancen eines Verkäufers und zeigt den von Apple gewünschten Umgang mit Kunden. Dabei spielt auch die Lieblingseissorte des Kunden eine Rolle.


  1. 12:45

  2. 12:12

  3. 11:19

  4. 09:44

  5. 14:15

  6. 13:47

  7. 13:00

  8. 12:30