Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] foreach - Array vs. Objekt

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Hallo Nikosch,

    nein ich denke, es trifft nicht immer zu. Der Ablauf war wir folgt:

    PHP-Code:
    function InviteMember ($params
    wobei $params z.b. folgenden Inhalt haben kann:

    PHP-Code:
    object(stdClass)#2 (3) {
      
    ["requester"]=>
      
    string(17"Id17162195"
      
    ["communityId"]=>
      
    string(15"com00000322"
      
    ["members"]=>
      array(
    2) {
        [
    0]=>
        
    object(stdClass)#3 (3) {
          
    ["Id"]=>
          
    string(16"Id1363240"
          
    ["pseudonym"]=>
          
    string(9"Tester2p1"
          
    ["status"]=>
          
    string(7"invited"
        
    }
        [
    1]=>
        
    object(stdClass)#4 (3) {
          
    ["Id"]=>
          
    string(16"Id1363240"
          
    ["pseudonym"]=>
          
    string(9"Tester2p1"
          
    ["status"]=>
          
    string(7"invited"
        
    }
      }

    Danach habe ich meine $members geholt:

    PHP-Code:
    if (is_array($params->members)) $members $params->members;
    else 
    $members[] = $params->members
    In beiden fällen sollte ich jetzt ein array haben, welches das stdClass Objekt mit den Memberdaten enthält. Hab ich ja auch.

    Danach folt ein xmlrpc call der wie folgt aussieht:

    $response = encodeXMLRPC('rpcs', $params); //join new members with status: "invited"

    Nach diesem xmlrpc call bestehen sowohl $params als auch $members nur noch aus arrays. Die stdClasses sind in beiden Variablen verschwunden.

    Was mich jetzt wundert ist, dass dies auch bei $members der Fall ist. Ich dachte, dass ich halt eine Kopie in $members habe.

    Grüße
    HeckMc

    Kommentar


    • #17
      Naja, Du weißt nicht, was in encodeXMLRPC passiert, oder? Die Funktion kann ja $params als Referenz übernehmen und dann umschreiben. Da hast Du keinen Einfluss drauf.

      Was mich jetzt wundert ist, dass dies auch bei $members der Fall ist. Ich dachte, dass ich halt eine Kopie in $members habe.
      Fürwahr eigenartig. Kann ich leider nicht beantworten.
      [COLOR="#F5F5FF"]--[/COLOR]
      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
      [COLOR="#F5F5FF"]
      --[/COLOR]

      Kommentar


      • #18
        Okay, dass $params umgeschrieben wird, darüber wunder ich mich auch nicht.

        Vielleicht hab ich ein Brett vorm Kopf..

        warum ist denn dann auch $members betroffen? encodeXMLRPC findet ja NACH dem $members = $params->members statt.

        Kannst du mir das vllt. noch erklären?

        Kommentar


        • #19
          siehe oben.
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #20
            Okay. Vielen Dank für eure schnelle Hilfe

            Ich löse das Problem jetzt, in dem ich das Array wieder in ein Objekt wandel.

            Grüße
            HeckMc

            Kommentar

            Lädt...
            X