kostenloser Webspace werbefrei: lima-city


PHP Refernzen unset Problem

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Hi :)
    ich bin auf eine Hürde gestoßen, die ich nicht alleine umwerfen kann.
    Deswegen wollte ich mir Hilfe hole.

    Ich habe folgende Funktion:
    function readunset(&$toreadunset) {
        $tmp = $toreadunset;
        unset($toreadunset);
        return $tmp;
    }


    Und rufe sie sie so auf:
    $test = array(
        "test1" => "Hallo"
        ,"test2" => "Mensch"
    );
    $mensch = readunset($test["test2"]);
    print_r($test);
    echo "Der $mensch";


    Doch es kommt immer noch Hallo und Mensch raus :(

    Wenn ich so mache:
    $test = "hallo";
    $hallo = readunset($test);
    echo $test;


    funktioniert es auch nicht.

    Was mache ich falsch :)
    Danke schon mal für die Hilfe!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Dein
    unset()
    zerstört nur die Referenz (
    $toreadunset
    ), nicht aber die übergebene Variable. Die übergebene Variable kannst du so auch nicht zerstören. Was du allerdings tun kannst ist z.b.
    NULL
    zuweisen, das würde den Inhalt "zerstören".

    Warum willst du die Variable denn via
    unset()
    überhaupt zerstören?
  4. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    Weil ich das komplette array weiter bearbeiten muss.
    Aber die keys die ich ausgelesen habe nicht mehr erscheinen dürfen.
    Auch keine Null.
    Der KEy darf einfach nicht mehr erscheinen.
    Also gibt es keine Möglichkeit wie in C++?

    Beitrag zuletzt geändert: 9.1.2015 12:22:02 von willstdueswissen
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    k
    willstdueswissen schrieb:
    Also gibt es keine Möglichkeit wie in C++?
    Nein. Außerdem wär da noch die Frage: bei welcher Sorte von Array kannst du das denn in C++? :-P

    Aber: du könntest das Array an die Funktion übergeben und zusätzlich den Key. Dann kannst du aus dem Array löschen was du willst und einfügen was du willst, und durch den Key weißt du auch wo du das willst … im Übrigen sieht es so aus, also ob du irgendwas Stack-Artiges bauen wollen würdest oder foreach nutzen wolltest (was beides anders sinnvoller umsetzbar ist).

    Beitrag zuletzt geändert: 9.1.2015 14:19:54 von hackyourlife
  6. In C++ kannst du über eine Refernez auch keine Varibalen löschen.
    Nur zum Verständnis, php hat ein anderes array Konzept als C++, in php ist ein Array immer eine Hashmap, also nur Schlüssel Wert Paare (Die Refernzierung erfolgt über ein Hashverfahren, aber das nicht so wichtig)und es gibt eine Reihenfolge.
    Du kannst Werte Paare löschen, in der Reihenfolge verschieben, einfach mal hier gucken http://php.net/manual/de/ref.array.php
  7. Das sinnvollsge dazu ist wirklich: array als ref und den key als parameter.
    Da kannst du dann unsetten wie du lustig bist und dein array komplett manipulieren.

    Was den quellcode angeht: da denke ich auch, dass es schicker geht.
  8. Autor dieses Themas

    willstdueswissen

    Kostenloser Webspace von willstdueswissen

    willstdueswissen hat kostenlosen Webspace.

    muellerlukas schrieb:
    Was den quellcode angeht: da denke ich auch, dass es schicker geht.


    Ja geht es ;) musste nur schnell ne lösung her bevor ich das Programm umschreibe ;)
    Sonst wäre ein Dienst die ganze Zeit down.
    Habe es dann erstmal wie hackyourlife gemacht.
    Jetzt habe ich aber schon fasst umgeschrieben. ^^ danke euch.
    In c++gibt es ja nicht nur Referenz sondern auch Pointer.
    Ich meine ich könnte mich entsinnen, das es damit möglich wäre.
    Könnte mich aber täuschen.

    MfG willstdueswissen
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!