Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] problem z eval
adasiu
post 19.10.2009, 19:54:41
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Witam,

mam mały problem z funkcją eval() a mianowicie przy użyciu tej funkcji tworzę tablice. Wszystko jest ok dopóki nie tworzę tablic więcej niż dwuwymiarowych. Wtedy następuje błąd.


  1. $ka[9] = 'ok';
  2. $ka[4] = 'ok';
  3. $ka[3][8] = 'ook';
  4. $ka[3][7] = 'ook';
  5. $ka[3][6] = 'fvggshfd';
  6.  
  7. Fatal error: Cannot use string offset as an array in /var/www/test/application/controllers/katalog.php(417) : eval()'d code on line 1


pozdr.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
wNogachSpisz
post 19.10.2009, 19:58:10
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cannot use string offset as an array

Bo widzisz, jak masz string, to dostęp do poszczególnych bajtów możesz uzyskać na kilka sposobów:

$string{id}
$string[id]
substr(0,1,$string)


sprobuj zamiast [6] dac ['6'], powinno pomoc.

Go to the top of the page
+Quote Post
adasiu
post 19.10.2009, 20:23:36
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Taka zmiana niczego nie zmieni...
Go to the top of the page
+Quote Post
wNogachSpisz
post 19.10.2009, 20:25:27
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Ponieważ?

To może inaczej, daj prawdziwy kod, bo ten u góry nie używa EVAL'a



Ten post edytował wNogachSpisz 19.10.2009, 20:26:37
Go to the top of the page
+Quote Post
adasiu
post 19.10.2009, 20:32:53
Post #5





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


  1. eval("$ka[9] = 'ok';");
  2. eval("$ka[4] = 'ok';");
  3. eval("$ka[3][8] = 'ook';");
  4. eval("$ka[3][7] = 'ook';");
  5. eval("$ka[3][6] = 'fvggshfd';");
  6. eval("$ka[3][6][11] = 'nic';");
  7.  
  8. Fatal error: Cannot use string offset as an array in /var/www/test/application/controllers/katalog.php(417) : eval()'d code on line 1


na ostatnim się wysypuje.
Go to the top of the page
+Quote Post
wNogachSpisz
post 19.10.2009, 20:40:20
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


No bo zobacz, w tym miejscu:

eval("$ka[3][6] = 'fvggshfd';");

definiujesz $ka[3][6] jako STRING 'fvggshfd'

potem dajesz $ka[3][6][11] = 'nic';

wiec jasne jest, ze php wstawi w 11 znaku stringu $ka[3][6] literke 'n'



nie wiem dokladnie co ma robic twoja aplikacja, ale ze stringa arraya nie ukrecisz biggrin.gif



Ten post edytował wNogachSpisz 19.10.2009, 20:41:13
Go to the top of the page
+Quote Post
adasiu
post 19.10.2009, 20:45:51
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


racja winksmiley.jpg teraz załapałem -- plus dla Ciebie. thx
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:37