Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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. ?>

(IMG:http://forum.php.pl/uwaga.gif)
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
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
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 559
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ł?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 28.09.2025 - 06:09