Mal wieder...: Cannot use string offset as an array

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mal wieder...: Cannot use string offset as an array

    Heo...

    ich habe ein Problem mit einem Array, welches mich schier verzweifeln lässt...

    Zwar gibt es hier und bei google einige Infos dazu, aber mir hilft nichts davon weiter.


    Ich habe ein array '$show' wie folgendes:

    PHP Code:
    Array
    (
        [
    paging] => 
        [
    news] => Array
            (
                [
    0] => Array
                    (
                        [
    ID] => 3
                        
    [authorID] => 1
                        
    [authorNickname] => Breezzer
                        
    [date] => 1154718667
                        
    [headline] => Testnews2
                        
    [content] => sagsd
                        
    [categoryName] => Testkategorie
                        
    [categoryPicture] => graphicsLib/news/categories/1/icon.jpg
                        
    [commentsNumber] => 6
                    
    )
            )


    diese schleife läuft nun ab:
    PHP Code:
    for($x=0$x<count($show['news']); $x++) 
    und ruft dabei das array $show auf:
    PHP Code:
    echo $show['news'][$x]['headline']; 

    und dann kommt der Fehler
    Fatal error: Cannot use string offset as an arra

    ich habe absolut keine ahnung, was ich noch anstellen könnte, damit der fehler verschwindet.
    $show ist garantiert ein array, es nützt aber auch nichts $show = array(); einzufügen.

    Wenn ich $show per foreach durchlaufen lasse, dann erhalte ich die Warnung
    Warning: Invalid argument supplied for foreach()

    Manchmal frage ich mich echt, was php da mit mir macht :P

    Hoffentlich hat jemand ne Lösung oder zumindest mal nen Vorschlag

    Danke im Vorraus

    mfg
    Breezzer

  • #2
    sende bitte die quellcode wo du dein array bildest und der schtück mit der schleife, damit ich es Testen kann.
    Slava
    bituniverse.com

    Comment


    • #3
      Original geschrieben von Slava
      sende bitte die quellcode wo du dein array bildest und der schtück mit der schleife, damit ich es Testen kann.
      seh ich genauso, deine ausgabe, von welcher funktion auch immer, bringt uns bei der fehlersuche nicht ganz so viel...

      Comment


      • #4
        Und wenn du
        PHP Code:
        foreach($show['news'][0] as $value){
            echo 
        $value;

        machst ?

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Comment


        • #5
          @topicstarter
          Vermutlich ist deine $show irgendwann mal als String initialisiert worden. Verwendest du diese Var bereits irgendwo vorher in deinem Code ? Mach mal bevor du das Array $show mit Werten befüllst ein
          PHP Code:
          var_dump($show); 
          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Comment


          • #6
            heo, danke an euch alle, dass ihr euch gedanken dazu gemacht habt

            aber der fehler war ein ganz seltsamer...

            $show ist zu beginn des scripts ein string, wird dann aber per $show = array() als array umfunktioniert.

            eigentlich war das doch richtig, aber wenn ich $show = array() entferne kommt der fehler nichtmehr...


            naja, ich hatte schon immer das gefühl, dass mich mein apache auf den arm nimmt

            ...also, danke nochmal an euch

            Comment


            • #7
              ich wette, in dem script passiert noch mehr.

              Comment

              Working...