Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie wolno używać [] do odczytu danych z tablicy
eMartio
post
Post #1





Grupa: Zablokowani
Postów: 46
Pomógł: 0
Dołączył: 12.01.2006

Ostrzeżenie: (10%)
X----


Otrzymałem informację od admina Home.pl, gdzie mam serwerek, że m.in. "nie wolno używać [] do odczytu danych z tablicy".

Na php.net:

Reading []
  1. <?php
  2.  
  3. class XmlTest {
  4.  
  5.     function test_ref(&$test) {
  6.         $test = "ok";
  7.     }
  8.  
  9.     function test($test) { }
  10.  
  11.     function run() {
  12.         $ar = array();
  13.         $this->test_ref($ar[]);
  14.         var_dump($ar);
  15.         $this->test($ar[]);
  16.     }
  17. }
  18.  
  19. $o = new XmlTest();
  20. $o->run();
  21.  
  22. ?>


poprawiam
---
nospor


Cytat
This should always have thrown a fatal E_ERROR, because [] cannot be used for reading in php. It is invalid code in php 4.4.2 and php 5.0.5 upward.


To jak mogę na powyższym przykładzie oddczytać dane tablicy, jeżeli nie poprzez $ar[]?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
manmajaka
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.11.2005

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


  1. <?php
  2.  
  3. class XmlTest {
  4.  
  5. function test_ref(&$test) {
  6. $test = "ok";
  7. }
  8.  
  9. function test($test) { }
  10.  
  11. function run() {
  12. $ar = array();
  13. $this->test_ref($ar);
  14. var_dump($ar);
  15. $this->test($ar);
  16. }
  17. }
  18.  
  19. $o = new XmlTest();
  20. $o->run();
  21.  
  22. ?>


Ten post edytował manmajaka 23.01.2006, 10:41:55
Go to the top of the page
+Quote Post
orson
post
Post #3





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

przecież to logiczne że nie można odczytywać poprzez [] ... odczyt z tablicy wymaga podania klucza ... operator [] (nie jestem pewien czy to operator ale dobrze brzmi) służy do dodania do tablicy "na końcu" ...

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post
dtb
post
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


Jeżeli chcesz przekazać cała tablicę, to używasz poprostu $tablica (bez []). jeżeli chcesz przekazać tylko ostatni elemnt tablicy to: end()


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przenoszę z PHP5 na php. PRoblem dotyczy ogolnie php;

@dtb czemu piszesz posta na rozwiązany juz problem. To co piszesz padlo juz w sumie w dwóch postach. Zbiorcze dane robisz?

Cytat
jeżeli chcesz przekazać tylko ostatni elemnt tablicy to: end()
idąc dalej to mozna znowu jeżeliować i wymienic jeszcze: reset, current i inne. Przestan nabijac posty. Juz raz cię oto prosilem. Chcesz się przekonac ile razy będę prosił?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 21.08.2025 - 15:47