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

Haben wir etwas übersehen?

E-Mail an news@golem.de


Owncloud: Dropbox-Alternative fürs Heimnetzwerk
Owncloud
Dropbox-Alternative fürs Heimnetzwerk

Kaputte Zertifikate durch Heartbleed und der NSA-Skandal: Es gibt genügend Gründe, seinen eigenen Cloud-Speicher einzurichten. Wir erklären mit Owncloud auf einem Raspberry Pi, wie das funktioniert.


Cortana im Test: Gebt Windows Phone eine Stimme
Cortana im Test
Gebt Windows Phone eine Stimme

Mit Windows Phone 8.1 bringt Microsoft nicht nur lange vermisste Funktionen wie die zentrale Benachrichtigungsübersicht auf das Smartphone, sondern auch die Sprachassistentin Cortana. Diese kann den Alltag tatsächlich erleichtern - und singen.

  1. Smartphones Nokia und HTC planen Updates auf Windows Phone 8.1
  2. Ativ SE Samsungs neues Smartphone mit Windows Phone
  3. Microsoft Internet Explorer 11 für Windows Phone

Wolfenstein The New Order: "Als Ein-Mann-Armee gegen eine Übermacht"
Wolfenstein The New Order
"Als Ein-Mann-Armee gegen eine Übermacht"

B. J. Blazkowicz muss demnächst wieder die Welt retten - in einem Wolfenstein aus Schweden. Im Interview hat Golem.de mit Andreas Öjerfors, dem Senior Gameplay Designer, über verbotene Inhalte, die KI und Filmvorbilder von The New Order gesprochen.

  1. The New Order Wolfenstein erscheint ohne inhaltliche Schnitte
  2. Wolfenstein angespielt Agent Blazkowicz in historischer Mission
  3. Bethesda Zugang zur Doom-Beta führt über Wolfenstein

  1. Spähaffäre: Snowden erklärt seine Frage an Putin
    Spähaffäre
    Snowden erklärt seine Frage an Putin

    In einem Beitrag für den Guardian hat Whistleblower Edward Snowden seine an Putin gestellte Frage verteidigt. Der russische Präsident müsse ebenso wie US-Präsident Obama zu Massenüberwachung Stellung beziehen. Zuvor war Snowden scharf kritisiert worden.

  2. CSA-Verträge: Microsoft senkt Preise für Support von Windows XP
    CSA-Verträge
    Microsoft senkt Preise für Support von Windows XP

    Mehreren US-Berichten zufolge hat Microsoft drastische Kürzungen bei den Kosten für den erweiterten Support von Windows XP bei Unternehmen vorgenommen. Dabei sollen unter anderem die Gesamtkosten unabhängig von der Zahl der PCs auf 250.000 US-Dollar gedeckelt worden sein.

  3. Test Wyse Cloud Connect: Dells mobiles Büro
    Test Wyse Cloud Connect
    Dells mobiles Büro

    Mit dem Wyse Cloud Connect hat Dell einen Android-HDMI-Stick im Programm, der sich dank Fernwartungsmöglichkeit und Thin-Client-Lösungen besonders für mobile Büroarbeit eignen soll. Golem.de hat sich den Stick genauer angesehen.


  1. 16:32

  2. 14:00

  3. 12:02

  4. 11:47

  5. 20:20

  6. 19:26

  7. 19:02

  8. 17:52