Flons Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Hallo! ich habe ein problem mit einem Array. Ich ziehe Daten aus einer Oracle-DB und schreibe sie in ein Array. Nun möchte ich diese Werte mit x multiplizieren. Leider erhalte ich dann nur eine Fehlermeldung: Fatal error: Unsupported operand types in ...... Wo liegt der Fehler bzw. was mache ich falsch? Ich denke mal, ich muß erst eine Typumwandlung machen. Oder? Hier mein Code (Auszugsweise): $test[0][]=OCIResult($Stmt,"ANZAHL_SCHMELZEN"); for ($x=0; $x < 1; $x++) { for ($y = 0; $y < count($test[$x]); $y++) { $test=$test*2; echo $test[$x][$y]."\n"; } echo "<br>"; } Vielen dank im Voraus für Eure Hilfe. Gruß Florian Zitieren
Habi Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Die Zeile $test=$test*2; ist dein Problem. Du kannst keinen Array * Array machen. Du musst schon die Felder angeben (z.B. $test[$x] = $test[$x] * 2; Zitieren
Flons Geschrieben 24. Februar 2005 Autor Geschrieben 24. Februar 2005 Oh, mein Gott.... Manchmal kann es so einfach sein, wenn man es richtig macht Vielen Dank..... :marine Zitieren
Tweetymax Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Die Zeile $test=$test*2; ist dein Problem. Du kannst keinen Array * Array machen. Du musst schon die Felder angeben (z.B. $test[$x] = $test[$x] * 2; Stimmt leider auch nicht ganz, du hast wol übersehen, dass er ein 2 Dimensionales Array benutzt richtig müsste es heißen: $test[$x][$y] *= 2; // Kurzform oder $test[$x][$y] = $test[$x][$y] * 2; // Langform Zitieren
Flons Geschrieben 24. Februar 2005 Autor Geschrieben 24. Februar 2005 Stimmt leider auch nicht ganz, du hast wol übersehen, dass er ein 2 Dimensionales Array benutzt richtig müsste es heißen: $test[$x][$y] *= 2; // Kurzform oder $test[$x][$y] = $test[$x][$y] * 2; // Langform Genau, Bingo! Aber Habi hat zwar den richtigen Denkanstoß gegeben, aber Deine Lösung wäre natürlich die "Richtigste".... Vielen Dank.. Gruß Florian Zitieren
Habi Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Stimmt leider auch nicht ganz, du hast wol übersehen, dass er ein 2 Dimensionales Array benutzt richtig müsste es heißen: $test[$x][$y] *= 2; // Kurzform oder $test[$x][$y] = $test[$x][$y] * 2; // Langform Darum hab ich ja "z.B." geschrieben. Hab mir den Code im Detail nich angeschaut ;-) Zitieren
freq.9 Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Auch wenn es hier ein wenig verspätet bzw. neben der Rolle ist, möchte ich nochmal auf den - bzw. [php]-Tag hinweisen. Somit kann man schneller Code vom übrigen text unterscheiden. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.