Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Fatal Error: Cannot use string offset as an array
Forum PHP.pl > Forum > PHP
L_Devil
Witam! Mam dosyć, a nawet powiedziałbym bardzo skomplikowany skrypt, który wykonuje pewne operacje na tablicach, a końcowo zwraca wynik userowi w tabelce, wg. schematu:

  1. <?php
  2. $tablica['wartosc'][] = funkcjaX();
  3. $tablica['wartosc'][] = funkcjaY();
  4. $tablica['wartosc'][] = funkcjaZ();
  5. /* (...) */
  6. echo ("<table><tr><td>" .
  7. (is_array($tablica['wartosc'][0]) ? $tablica['wartosc'][0][1][5] : "(puste)") .
  8. '</td><td>' .
  9. (is_array($tablica['wartosc'][1]) ? $tablica['wartosc'][1][5][7] : "(puste)") .
  10. '</td><td>' .
  11. (is_array($tablica['wartosc'][2]) ? $tablica['wartosc'][2][3][1] : "(puste)") .
  12. '</td></tr></table>');
  13.  
  14. ?>

Błąd jest zgłaszany w instrukcji echo. No i teraz jest problem... nie ma sensu wklejać całego kodu na forum bo tego jest sporo, zaś nie mam pojęcia z czym konkretnie może być związany ten problem. Czy miał ktoś podobny błąd przy pracy na tablicach (zaznaczam że błąd generuje instrukcja echo)? Jak się z czymś takim uporać?

Nie jest to błąd składni, gdyż jeżeli ustawiam takie parametry wejścia, by mieć pewność że wszystkie funkcje (oznaczone w przykładzie jako funkcjaX(), itp.) zwrócą tablice - wtedy błąd znika. Problem więc objawia się wtedy, gdy któraś z $tablica['wartosc'] nie będzie tablicą.... No właśnie, co zrobić żeby ten błąd nie wyskakiwał?
dtb
dobrze by bylo wiedziec co zwracaja funkcje X, Y, Z.
L_Devil
Tablice wielowymiarowe
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.