Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Tablice - jak się dobrać do zawartości, tablica, php,
emantuch
post 23.09.2015, 14:08:11
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


Witam ,
mam taką oto tablicę, jak mogę dobrać się do jej zawartości?
Array
(
[0] => Array
(
[0] => Array
(
[0] => 1500
[1] => 1
[2] => 1
[3] => 2000
[4] => 1800
)

)

Próbowałem przez $aray2 = $aray[0]
itd.. ale niestety to jest chyba zła droga bo nie działa.
Dzięki z góry za pomoc
Go to the top of the page
+Quote Post
KsaR
post 23.09.2015, 14:10:25
Post #2





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


  1. foreach ($tablica[0][0] as $v) echo $v;

$tablica[0][0][0]; # 1500
...
$tablica[0][0][4]; # 1800

Ten post edytował KsaR 23.09.2015, 14:12:06


--------------------
Go to the top of the page
+Quote Post
bobek358
post 23.09.2015, 14:12:45
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

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


  1. $tablica[0][0][0]

wyświetli 1500

  1. $tablica[0][0][1]

wyświetli 1

  1. $tablica[0][0][4]

wyświetli 1800

itd
Go to the top of the page
+Quote Post
emantuch
post 23.09.2015, 14:16:28
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


Dzięki za blyskawiczne odpowiedzi! biggrin.gif

Tylko nie rozumiem jednej rzeczy.

echo $wynik3[0][0][0]; - zwraca mi znak " < "
echo $wynik3[0][0][4]; - zwraca 0

Kod
    foreach ($tablica[0][0] as $v) echo $v;
- Blank Page..

Ten post edytował emantuch 23.09.2015, 14:21:27
Go to the top of the page
+Quote Post
KsaR
post 23.09.2015, 14:20:06
Post #5





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(emantuch @ 23.09.2015, 15:16:28 ) *
Dzięki za blyskawiczne odpowiedzi! biggrin.gif

Tylko nie rozumiem jednej rzeczy.

echo $wynik3[0][0][0]; - zwraca mi znak " < "
echo $wynik3[0][0][4]; - zwraca 0

Albo złą zmienna podpinasz. Albo zły przykład dales tongue.gif

Array
(
[0] => Array
(
[0] => Array
(
[0] => 1500
Czyli teraz skasujmy wszelkie (, array, i =>
Mamy [0][0][0]; i pod tym indeksem wedlug twojego przykladu jest 1500 wink.gif
--
Co do wyzejszej edycji > jak blank to napewno zla.
smile.gif

Ten post edytował KsaR 23.09.2015, 14:22:41


--------------------
Go to the top of the page
+Quote Post
emantuch
post 23.09.2015, 14:26:05
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


To krok po kroku:
1.
  1. echo '<pre>';
  2. print_r ($wynik3);
  3. echo '</pre>';

daje mi:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 1500
[1] => 1
[2] => 1
[3] => 2000
[4] => 1800
)

)

2. foreach ($tablica[0][0] as $v) echo $v; daje Blank

- Kodu mam zaledwie 7 lini jeszcze nie ma bałaganu,
Go to the top of the page
+Quote Post
KsaR
post 23.09.2015, 14:27:36
Post #7





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


http://sandbox.onlinephpfunctions.com/code...94ee8c083a871ca
^ kliknij execute code i się nie kłóć, bo to ty coś źle robisz. smile.gif

Ten post edytował KsaR 23.09.2015, 14:28:51


--------------------
Go to the top of the page
+Quote Post
emantuch
post 23.09.2015, 14:35:58
Post #8





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


Nie kłócę się i wiem że robię coś źle dlatego pytam tutaj smile.gif i informuję, iż to mi nie działa pisząć co robię krok po kroku

  1. $c=preg_match_all('/<strong class="price" data-sorter="(.+?)"/', $result, $wynik3);
  2. print_r ($wynik3);


dostaję tablicę - i dalszą część historii znacie.
Pytanie co mogę robić nie tak w tych 3 liniach kodu?questionmark.gif?


Serwer zwraca: PHP Warning: Invalid argument supplied for foreach()

Ten post edytował emantuch 23.09.2015, 14:40:45
Go to the top of the page
+Quote Post
KsaR
post 23.09.2015, 14:40:21
Post #9





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


  1. var_dump(isset($wynik3[0][0][0]), $wynik3[0][0][0]);

Pokaz co zwraca, za zmienna $wynik3;
Ps. Podmieniles w tym foreach zmienna $tablica na $wynik3 questionmark.gif

Ten post edytował KsaR 23.09.2015, 14:41:57


--------------------
Go to the top of the page
+Quote Post
emantuch
post 23.09.2015, 17:00:53
Post #10





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


otrzymuje:
bool(true) string(1) "<"


Tak podmieniłem smile.gif

Panowie, bo nie rozumiem jednej rzeczy,
dlaczego jeżeli $wynik3 to tablica którą tutaj wrzuciłem
i jeżeli wykonuję wasze polecenia i tam sam $wynik3 nie zwraca nic to dlaczego tak się dzieje?

Ogólnie coś tam już w PHP robiłem no i takie coś mi się wydarzyło 1 raz, dlatego szukam pomocy smile.gif


Czy nie powinno być tak że :
$wynik3 = Array ( [0] => Array ( [0] => Array ( [0] => 1500 [1] => 1 [2] => 1 [3] => 2000 [4] => 1800 ) )
$wynik3[0] = Array ( [0] => Array ( [0] => 1500 [1] => 1 [2] => 1 [3] => 2000 [4] => 1800 )
$wynik3[0][0] = Array ( [0] => 1500 [1] => 1 [2] => 1 [3] => 2000 [4] => 1800

To możliwe żeby tablica z preg_match_all źle się tworzyła? Bo np. brakuje jednego zamknięcia nawiasu...

Szukam już gdzie mogę nie wiem co może być

Ten post edytował emantuch 23.09.2015, 14:45:43
Go to the top of the page
+Quote Post
KsaR
post 23.09.2015, 17:15:40
Post #11





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Malo mozliwe lub i nie mozliwe.
Poza tym ty printujesz ta tablice tongue.gif.
Byc moze preg_* zlapal coś złego.

Jesli masz mozliwosc to dodaj przed URL strony view-source:tu_link
bo mozliwe ze tylko tak ci w przegladarce pokazalo.

Lub zrob cos typu, jesli nie pokazalo ci samo kodu zrodlowego:

  1. echo '<pre>', htmlspecialchars(print_r($wynik3, true), ENT_QUOTES, 'UTF-8'), '</pre>';

I pokaz ponownie co zwraca. To zamieni rozne znaki np. > na & gt ; (bez spacji) przez co bedzie widoczny jako znak a nie kod do wykonania.

Ten post edytował KsaR 23.09.2015, 17:25:22


--------------------
Go to the top of the page
+Quote Post
emantuch
post 23.09.2015, 17:26:22
Post #12





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 23.09.2015

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


Dzięęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęęki! Lecę dalej z tematem.
Wynik:
Array
(
[0] => Array
(
[0] => <strong class="price" data-sorter="10"
[1] => <strong class="price" data-sorter="250"
)

[1] => Array
(
[0] => 10
[1] => 250
)

)
A więc mój preg* zamiast:
$c=preg_match_all('/<strong class="price" data-sorter="(.+?)"/', $result, $wynik3);
Wygląda teraz tak:
$c=preg_match_all('/<strong class="price" data-sorter="(.+?)">/', $result, $wynik3);

I działa jak należy biggrin.gif

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:37