Van egy ilyen - 13 elemből álló - tömböm:
ware_type = array(2, 2, 4, 2, 2, 4, 2, 3, 2, 1, 1, 4, 4);
A $ware_type = array_unique($ware_type); sor után után ezt a - 4 elemből álló - tömböt kapom eredményül:
ware_type[0]: 1
ware_type[1]:
ware_type[2]: 2
ware_type[3]:
Nem értem a php.net idevonatkozó oldalának átolvasása után sem!
Nincs valami tippetek, hogy miért?
A PHP verziója a szerveren: PHP Version 5.2.12
- 1206 megtekintés
Hozzászólások
$ php -r '$ware_type = array(2, 2, 4, 2, 2, 4, 2, 3, 2, 1, 1, 4, 4); print_r(array_unique($ware_type));'
Array
(
[0] => 2
[2] => 4
[7] => 3
[9] => 1
)
- A hozzászóláshoz be kell jelentkezni
Köszi a gyors választ!
Akkor ez azt jelenti, hogy az eredmény tömbben az elemek megtartják az eredeti tömbben hozzájuk rendelt kulcsokat (indexeket)?
(Mert én egy for($i=0; $i
Ez érdekes...
- A hozzászóláshoz be kell jelentkezni
Note that keys are preserved. array_unique() sorts the values treated as string at first, then will keep the first key encountered for every value, and ignore all following keys. It does not mean that the key of the first related value from the unsorted array will be kept.
t
- A hozzászóláshoz be kell jelentkezni
"Note that keys are preserved..."
No akkor ez volt a kulcsmondat, de ezt én jól félrefordítottam...
Köszönöm a segítségedet!
- A hozzászóláshoz be kell jelentkezni
for-nal egyszerubb a foreach ($foo as $bar), vagy foreach ($foo as $kulcs=>$ertek)
t
- A hozzászóláshoz be kell jelentkezni
Bocs, de lemaradt a vége az előbb:
Szóval egy for ciklussal írattam ki az eredmény tömböt az nulladik elemtől a tömbméret-1-ig. És ha így nézzük, a kapott eredményem az általad írtak fényében logikus... :-)
- A hozzászóláshoz be kell jelentkezni