![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam pewnien problem obsluga tablic w kalsie. Szczegolnie kiedy stosuje add_push....nie moge wyswietlic zawartosci metodą....jedynie jak przesle tablice do zmiennej poza klasa...nie rozumiem tego zupelnie..szczegolnie, ze kod bez klasy dziala(po usunieciu $this)...
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Podał byś kawałek kodu?!? Najlepiej ten kawałek co Ci nie działa...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?
class jacek{ var $tablica; function jacek(){ $this->$tablica=array(); } function dodaj(){ array_push($this->$tablica, "jablko"); $this->$tablica["jablko"]=array(); array_push($this->$tablica["jablko"], "costam"); echo $this->$tablica["jablko"][0]; return $this->$tablica; } } $f=new jacek; $tab=$f->dodaj(); ?> |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
[php:1:e4b676926d]<?php
array_push($this->$tablica, "jablko"); $this->$tablica["jablko"]=array(); ?>[/php:1:e4b676926d] Z tego co mi wiadomo, array_push() wstawia WARTOŚĆ na koniec tablicy. Jak więc chcesz się później odwoływać podając wartość pola jako jego index? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:0eb4dcb9bc]<?php
$tablica=array(); array_push($tab, "jablko"); $tab["jablko"]=array(); array_push($tab["jablko"], "costam"); echo $tab["jablko"][0]; ?>[/php:1:0eb4dcb9bc] z tym, że poza klasa dziala bez problemu i echo wyświetla "costam"...wiec nic nie wiem jush |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
oczywiscie w drugiej linii jest $tab=array()..a nie $tablica...(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
[php:1:c3174cd65a]<?php
// tworzysz nową pustą tablicę $tablica=array(); // na jej początek, do pola o indeksie 0 wstawiasz string "jabłko" array_push($tab, "jablko"); // tworzysz KOLEJNE pole w tej tablicy o indeksie "jabłko", po tym masz w tablicy dwa pola: 0 i jabłko $tab["jablko"]=array(); // do pola o indeksie "jabłko" wrzucasz string "costam" array_push($tab["jablko"], "costam"); // wyswietlasz zawartosc pola o indeksie "jablko" echo $tab["jablko"][0]; ?>[/php:1:c3174cd65a] No i działa jak trzeba, tylko, że jak wyświetlisz sobie print_r($tablica) zobaczysz prawdziwą strukturę Twojej tablicy. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze zacznijmy jeszcze raz....mi chodzi o to zeby to zrobic w klasie nie poza klasa dla pewnosci podam caly kod [php:1:94e96fbb5b]<?php
class jacek{ var $tablica; function jacek(){ $this->$tablica=array(); } function dodaj(){ array_push($this->$tablica, "jablko"); $this->$tablica["jablko"]=array(); array_push($this->$tablica["jablko"], "costam"); print_r($this->$tablica); return $this->$tablica; } } $f=new jacek; $tab=$f->dodaj(); echo "<br>"; $tab=array(); array_push($tab, "jablko"); $tab["jablko"]=array(); array_push($tab["jablko"], "costam"); print_r($tab); ?>[/php:1:94e96fbb5b] a co to wyswietla: Kod Array ( [0] => costam )
Array ( [0] => jablko [jablko] => Array ( [0] => costam ) ) i pytanie dlaczwgo i jak zrobic zeby tablica w klasie miala taka sama strukture...jak tablica poza.... |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
No dobra, a jaką strukturę tablicy chcessz uzyskać?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nieeeeeeeeeeee...
do pól klasy odnisisz się: [php:1:b79248e6bc]<?php $this->pole_klasy; //a nie $this->$pole_klasy; ?>[/php:1:b79248e6bc] Pozmnieniaj to ... i będzie działać |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Napisalem dokladnie w poprzednim poscie....ale napisze jeszcze dokladniej....
tablice poza klasa zrobilem,zeby przetestowac budowanie tablicy wielowymiarowej i osiagnalem strukture taka jaka chcialem czyli Kod Array ( [0] => jablko [jablko] => Array ( [0] => costam ) )
ale powtarzam to jest tylko pomocnicza tablica, chcialem zponac mechanizm array_push... i teraz w kalsie chce miec tablice o takiej samej strukturze(tworzoną metodą bo chce operowac na zniennych przysylanych do metody)... |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
[php:1:20910c7d2c]<?php
class jacek{ var $tablica; function jacek(){ $this->tablica=array(); } function dodaj(){ array_push($this->tablica, "jablko"); $this->tablica["jablko"]=array(); array_push($this->tablica["jablko"], "costam"); } } $f=new jacek; $f->dodaj(); echo '<pre>'; print_r($f->tablica); echo '</pre>'; ?>[/php:1:20910c7d2c] W czym problem?!? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 3.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
DZIEKI WIELKIE...taki banal a meczy...soryy,ze tak dlugo trwalo zanim wyjasnilem o co mi chodzi..dziex jeszcze raz:)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 12:00 |