Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie wolno używać [] do odczytu danych z tablicy
Forum PHP.pl > Forum > PHP
eMartio
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[]?
manmajaka
  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. ?>
orson
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
dtb
Jeżeli chcesz przekazać cała tablicę, to używasz poprostu $tablica (bez []). jeżeli chcesz przekazać tylko ostatni elemnt tablicy to: end()
nospor
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ł?
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.