Ankündigung

Einklappen
Keine Ankündigung bisher.

Array mit implode in String umwandeln

Einklappen

Neue Werbung 2019

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

  • Array mit implode in String umwandeln

    Hallo,
    ich habe ein Array, das ich mit implode() in einen String zerlegen will:

    PHP-Code:
    $cat contCondition implode' OR ID = '$cat cont ); 
    Der Inhalt von $cat_cont ist (wenn ich ihn mit print_f anzeige):

    PHP-Code:
    Array
    (
        [
    0] => stdClass Object
            
    (
                [
    id] => 97
            
    )
        [
    1] => stdClass Object
            
    (
                [
    id] => 106
            
    )


    aber ich kriege hier den Fehler:

    Error: E_RECOVERABLE_ERROR
    Object of class stdClass could not be converted to string
    at helper.php line 143


    wohl weil das Array nicht eindimensional ist? Wie kriege ich so ein Array implodiert?

    Vielen Dank, falls jemand hier hilft.
    Gruß, franc

  • #2
    Hallo und willkommen!

    ich habe ein Array, das ich mit implode() in einen String zerlegen will:
    Meinst du nicht eher zu einem String zusammenführen?

    Dein Problem ist, dass das Objekt der Klasse stdClass nicht in einen String konvertiert werden konnte.
    Für mehrdimensionale Arrays gibt es übrigens hier einen Lösungsvorschlag: PHP: implode - Manual
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      Nur so interessehalber: Wo kommt das stdClass Objekt eigentlich her und wofür willst Du die Zeichenkette verwenden?

      Kommentar


      • #4
        Ich vermute, dass das stdClass-Objekt das Ergebnis eines SQL-Querys enthält (mysql_fetch_object()).
        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

        Kommentar


        • #5
          Zitat von David Beitrag anzeigen
          Nur so interessehalber: Wo kommt das stdClass Objekt eigentlich her und wofür willst Du die Zeichenkette verwenden?
          Das kommt aus einer Datenbank-Abfrage (mit loadObjectList von Joomla) und ich brauch die Werte darin wieder für eine Datenbank-Abfrage (für Bedingungen).

          Kommentar


          • #6
            Dachte ich mir schon. Das lässt sich doch sicherlich als ein Abfrage mit JOIN ausdrücken?

            Kommentar


            • #7
              Zitat von David Beitrag anzeigen
              Dachte ich mir schon. Das lässt sich doch sicherlich als ein Abfrage mit JOIN ausdrücken?
              Ich vermute schwer, dass das ginge. Aber ich habe die Abfrage, in die ich mein Ergebnis einbauen will noch nicht so durchschaut, daher mach ich das lieber separat.

              Kommentar


              • #8
                Wie sehen denn die beiden Abfragen aus?

                Kommentar


                • #9
                  Zitat von David Beitrag anzeigen
                  Wie sehen denn die beiden Abfragen aus?
                  Das ist meine Abfrage:

                  PHP-Code:
                   $query "SELECT #__content.id FROM #__content INNER JOIN #__categories ".
                          
                  "ON #__categories.ID = #__content.CATID ".
                          
                  "INNER JOIN #__sections ON ".
                          
                  "#__sections.ID = #__content.SECTIONID ".
                          
                  "WHERE #__sections.TITLE = '".$sec_of_cat."' ".
                          
                  "AND #__categories.TITLE = '".$content_cat_title."'"
                  Das ergibt ein paar IDs, und die sollen dann nach:

                  $secid ? $secCondition : '').

                  da rein:

                  PHP-Code:
                          $query 'SELECT a.*, ' .
                              
                  ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
                              
                  ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
                              
                  ' FROM #__content AS a' .
                              (
                  $show_front == '0' ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' '') .
                              
                  ' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
                              
                  ' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
                              
                  ' WHERE '$where .' AND s.id > 0' .
                              (
                  $access ' AND a.access <= ' .(int) $aid' AND cc.access <= ' .(int) $aid' AND s.access <= ' .(int) $aid '').
                              (
                  $catid $catCondition '').
                              (
                  $secid $secCondition '').
                              (
                  $show_front == '0' ' AND f.content_id IS NULL ' '').
                              
                  ' AND s.published = 1' .
                              
                  ' AND cc.published = 1' .
                              
                  ' ORDER BY '$ordering

                  Kommentar


                  • #10
                    Soweit ich das sehe, ist die erste Abfrage doch schon vollständig in der zweiten enthalten - bis auf die WHERE Bedingungen
                    Code:
                    #__sections.TITLE = '$sec_of_cat' 
                    AND #__categories.TITLE = '$content_cat_title'

                    Kommentar


                    • #11
                      Zitat von David Beitrag anzeigen
                      Soweit ich das sehe, ist die erste Abfrage doch schon vollständig in der zweiten enthalten - bis auf die WHERE Bedingungen
                      Beim Barte des Propheten - du hast recht und ich bin blind.
                      Ich dachte mir, das ist zu kompliziert und habs dadurch nur noch komplizierter gemacht
                      Danke. Ja so gehts auch.

                      Kommentar


                      • #12
                        Umgekehrt geht mir das genauso. SQL, Regex, XPath ...immer gut, wenn nochmal jemand "sachfremdes" ein Auge drauf wirft

                        Kommentar


                        • #13
                          Also das war dann so doch viel einfacher. Und wie so oft: mit weniger Code mehr erreicht.

                          Zitat von David Beitrag anzeigen
                          Umgekehrt geht mir das genauso. SQL, Regex, XPath ...immer gut, wenn nochmal jemand "sachfremdes" ein Auge drauf wirft
                          Soll ich mal als "Sachfremder" ein Auge auf eine Regex von dir werfen?

                          Kommentar


                          • #14
                            Als Sachverständiger wäre sicher besser.
                            [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


                            • #15
                              Zitat von nikosch Beitrag anzeigen
                              Als Sachverständiger wäre sicher besser.
                              RegEx nur ein bißchen

                              Kommentar

                              Lädt...
                              X