Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Niezrozumienie działania PHP
Forum PHP.pl > Inne > Hydepark
pabito
Chciałbym tu móc zadać sukcesywnie parę pytań gdy nie zrozumiem czegoś podczas nauki PHP.

Mam taki kod
  1. <?php
  2. $tbl1 = array (10, 100, 100, 0);
  3. $tbl2 = array (1, 3, 2, 4);
  4. array_multisort ($tbl1, $tbl2);
  5.  
  6. var_dump($tbl1);
  7. var_dump($tbl2);
  8. ?>


W wyniku działania otrzymam
array (size=4)
0 => int 0
1 => int 10
2 => int 100
3 => int 100
array (size=4)
0 => int 4
1 => int 1
2 => int 2
3 => int 3

I teraz moje pytanie, dlaczego 4 jest pierwsza skoro jest to funkcja sortująca po wartości ?

Inny przypadek

  1. <?php
  2. $tbl1 = array (10, 100, 100, 0,3);
  3. $tbl2 = array (1, 6, 3,4);
  4. array_multisort ($tbl1, $tbl2);
  5.  
  6. var_dump($tbl1);
  7. var_dump($tbl2);
  8. ?>


daje w wyniku:

array (size=5)
0 => int 10
1 => int 100
2 => int 100
3 => int 0
4 => int 3
array (size=4)
0 => int 1
1 => int 6
2 => int 3
3 => int 4
irmidjusz
hint 1: sprawdź, co zwraca array_multisort, np. za pomocą var_dump. Jeśli zwróciło false, sortowanie nie nastąpiło (zakładam, że czytasz dokumentację)
hint 2: elementy w drugiej tablicy są przestawiane tak, jak przestawiane są elementy w pierwszej tablicy
sazian
obie tablice muszą mieć ten sam rozmiar, a samo sortowanie działa tak jak w excel'u - sortujesz tylko pierwszą kolumnę, a pozostałe zachowują odpowiednią kolejność
lukasz1985
Poczytaj sobie dokumentacje, ze zrozumieniem.
com
  1. $tbl1 = array (10, 100, 100, 0);
  2. $tbl2 = array (1, 3, 2, 4);


Czego tu nie rozumiesz, przecież zamieniasz kolejność w obu tablicach naraz czyli
1 krok:
1 tablica
0,10,100,100
2 tablica
4,1,3,2

A ze więcej zamian nie było potrzebnych to jest koniec

A w drugim przypadku nie posortujesz przecież tablic o 2 rozmiarach, bo skąd weźmie Ci wartości których w 1 z nich brakuje

To co rozpisałem oczywiście jest teoretyczna zasadą przesunięcia zostaną oczywiście zastosowane zgodnie z zasadza sortowania, to tylko miało na celu pokazanie czemu jest 4 w drugiej tablicy na 1 miejscu wink.gif
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.