Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dostęp do stringa w tablicy (obiekt)
DeeL
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.02.2004
Skąd: Nysa

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


Witam,

Poniżej krótki kod dla wyświetlenie elementów obiektu Jcart.
  1. <?php
  2. echo '<pre>';
  3. $koszyk=$_SESSION['jcart'];
  4. var_dump($koszyk);
  5. echo '<pre>';
  6. ?>


A oto wynik wyświetlenia:

object(Jcart)#1 (8) {
["config"]=>
array(12) {
["jcartPath"]=>
string(6) "jcart/"
["checkoutPath"]=>
string(14) "./checkout.php"
["item"]=>
array(7) {
["id"]=>
string(10) "my-item-id"
["name"]=>
string(12) "my-item-name"
["price"]=>
string(13) "my-item-price"
["qty"]=>
string(11) "my-item-qty"
["url"]=>
string(11) "my-item-url"
["obrazek"]=>
string(15) "my-item-obrazek"
["add"]=>
string(13) "my-add-button"
}
["paypal"]=>
array(5) {
["id"]=>
string(38) "seller_1282188508_biz@conceptlogic.com"
["https"]=>
bool(true)
["sandbox"]=>
bool(false)
["returnUrl"]=>
string(0) ""
["notifyUrl"]=>
string(0) ""
}
["currencyCode"]=>
string(3) "PLN"
["csrfToken"]=>
bool(false)
["text"]=>
array(14) {
["cartTitle"]=>
string(12) "Twój koszyk"
["singleItem"]=>
string(7) "Produkt"
["multipleItems"]=>
string(10) "Produktów"
["subtotal"]=>
string(4) "Suma"
["update"]=>
string(8) "Przelicz"
["checkout"]=>
string(3) "Kup"
["checkoutPaypal"]=>
string(28) "Kup za pośrednictwem PayPal"
["removeLink"]=>
string(5) "Usuń"
["emptyButton"]=>
string(9) "Wyczyść"
["emptyMessage"]=>
string(23) "Twój koszyk jest pusty"
["itemAdded"]=>
string(6) "Dodano"
["priceError"]=>
string(25) "Niewłaściwy format ceny"
["quantityError"]=>
string(38) "Wartość musi być liczbą całowitą"
["checkoutError"]=>
string(41) "Wystąpiły problemy z Twoim zamówieniem"
}
["button"]=>
array(4) {
["checkout"]=>
string(0) ""
["paypal"]=>
string(0) ""
["update"]=>
string(0) ""
["empty"]=>
string(0) ""
}
["tooltip"]=>
bool(true)
["decimalQtys"]=>
bool(false)
["decimalPlaces"]=>
int(1)
["priceFormat"]=>
array(3) {
["decimals"]=>
int(2)
["dec_point"]=>
string(1) "."
["thousands_sep"]=>
string(1) ","
}
}
["items:private"]=>
array(2) {
[0]=>
string(1) "2"
[1]=>
string(1) "1"
}
["names:private"]=>
array(2) {
[2]=>
string(9) "Bułeczka"
[1]=>
string(7) "Chlebek"
}
["prices:private"]=>
array(2) {
[2]=>
string(4) "0.50"
[1]=>
string(4) "1.00"
}
["qtys:private"]=>
array(2) {
[2]=>
string(1) "2"
[1]=>
string(1) "3"
}
["urls:private"]=>
array(2) {
[2]=>
string(25) "jcart/images/buleczka.jpg"
[1]=>
string(0) ""
}
["subtotal:private"]=>
float(4)
["itemCount:private"]=>
int(5)
}

Pytanie:
Jak wyciągnąć element "Bułeczka" z tego obiektu. Niestety nie potrafię skonstruować odpowiedniego odwołania.

Ten post edytował DeeL 1.01.2013, 20:44:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
aras785
post
Post #2





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Witam. Sprawdź:
  1. print_r($obiekt->['names:private']);
//wyslij wynik

i
  1. print_r($obiekt->{'names:private'});
//wyslij wynik
Go to the top of the page
+Quote Post
Pawel_W
post
Post #3





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


names:private oznacza, żę pole names jest private, tzn. można się do niego odwołać jedynie wewnątrz klasy - poszukaj w dokumentacji, na pewno są do tego jakieś settery/gettery
Go to the top of the page
+Quote Post
aras785
post
Post #4





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


http://codepad.org/NhsonclE
Go to the top of the page
+Quote Post
Pawel_W
post
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Twój kod w żaden sposób nie oddaje tego o czym napisałem wyżej... http://codepad.org/fVlekTpe

zauważ, że u Ciebie robisz print_r($obj['two']) podczas gdy 'two' jest elementem tablicy o nazwie $container, a nie obiektu
Go to the top of the page
+Quote Post
aras785
post
Post #6





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Masz rację. Mój błąd. A tak: http://codepad.org/RFqy4mmW ?

Ten post edytował aras785 2.01.2013, 14:27:44
Go to the top of the page
+Quote Post
DeeL
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.02.2004
Skąd: Nysa

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


Cytat(aras785 @ 2.01.2013, 09:43:24 ) *
Witam. Sprawdź:
  1. print_r($obiekt->['names:private']);
//wyslij wynik

i
  1. print_r($obiekt->{'names:private'});
//wyslij wynik


Po wywołaniu:
  1. print_r($koszyk->['names:private']);
  2. print_r($koszyk->{'names:private'});


Wynik był taki:

Parse error: syntax error, unexpected '[', expecting T_STRING or T_VARIABLE or '{' or '$' in /virtual/twojawitryna.cba.pl/pages/oferta/checkout.php on line 178




Cytat(aras785 @ 2.01.2013, 15:08:38 ) *
Masz rację. Mój błąd. A tak: http://codepad.org/RFqy4mmW ?


  1. $d = array_map(NULL,get_object_vars($koszyk));
  2. print_r($d);


Po wywołaniu wyświetliło:
Array
(
[config] => Array
(
[jcartPath] => jcart/
[checkoutPath] => ./checkout.php
[item] => Array
(
[id] => my-item-id
[name] => my-item-name
[price] => my-item-price
[qty] => my-item-qty
[url] => my-item-url
[obrazek] => my-item-obrazek
[add] => my-add-button
)

[paypal] => Array
(
[id] => seller_1282188508_biz@conceptlogic.com
[https] => 1
[sandbox] =>
[returnUrl] =>
[notifyUrl] =>
)

[currencyCode] => PLN
[csrfToken] =>
[text] => Array
(
[cartTitle] => Twój koszyk
[singleItem] => Produkt
[multipleItems] => Produktów
[subtotal] => Suma
[update] => Przelicz
[checkout] => Kup
[checkoutPaypal] => Kup za pośrednictwem PayPal
[removeLink] => Usuń
[emptyButton] => Wyczyść
[emptyMessage] => Twój koszyk jest pusty
[itemAdded] => Dodano
[priceError] => Niewłaściwy format ceny
[quantityError] => Wartość musi być liczbą całowitą
[checkoutError] => Wystąpiły problemy z Twoim zamówieniem
)

[button] => Array
(
[checkout] =>
[paypal] =>
[update] =>
[empty] =>
)

[tooltip] => 1
[decimalQtys] =>
[decimalPlaces] => 1
[priceFormat] => Array
(
[decimals] => 2
[dec_point] => .
[thousands_sep] => ,
)

)

)



Niestety nie ma tutaj tablic private.

Chętnie załącze plik z kodem, ale niestety nie mogę umieścić linku.


Ten post edytował DeeL 2.01.2013, 21:34:44
Go to the top of the page
+Quote Post
elmariusso
post
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 12.07.2012

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


Miałem kiedyś ten sam problem z innym koszykiem zakupów, może pomocny okaże się link
conceptlogic.com/jcart/install.php
Być może ktoś korzystał już z tego sklepu i wie jak to zrobić bo problem pozostaje nierozwiązany.
Go to the top of the page
+Quote Post
aras785
post
Post #9





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


To najlepiej byłoby dopisać metode w tej klasie, którą wywołujesz.

Ten post edytował aras785 4.01.2013, 14:14:36
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: 20.08.2025 - 13:37