![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 19.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie,
Mam za zadanie napisac funkcje, ktora bedzie losowo tasowac wartosci w tablicy asocjacyjnej, nie zmieniajac nazw kluczy. Zrobilam sobie na samym poczatku krotka tablice i krotki kod: <?php $tablica = array("1a" => "x" , '1b'=>"y", "1c" =>'z' ); shuffle($tablica); foreach ($tablica as $key => $value) { if ($key==0){ $key="1a"; } if ($key==1){ $key="1b"; } if ($key==2){ $key="1c"; } php?> Czytalam duzo o sortowaniu i tasowaniu i wyczytalam ze funkcja shuffle owszem przetasuje mi wartosci w tablicy, lecz rowniez zmieni mi nazwy kluczy na liczbowe, a tego nie chce ( w chwili obecnej klucz 1a=0, 1b=1 i 1c=2. Chcialam ponownie zmienic te nazwy kluczy i przypisac im pierwotnie nadane nazwy, lecz nie udaje mi sie bo widnieja mi teraz nazwy takie : 01a,11b i 12c. Interesuje mnie przetasowanie tylko i wylacznei wartosci przypisanych do danych kluczy w tablicy. Nie wiem w jakim kierunku moglabym juz pojsc i jak rozwiazac to zadanie. Czy ktos moze mnie chociaz naprowadzic? Pozdrawiam! Ten post edytował dolar 3.11.2016, 12:34:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 19.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
No ok, a to nie dziala tak ze jak juz zrobie array_values to w tym momencie moja tablica dostaje nowe klucze ( tutaj liczbowe ) i tamte juz nie istanieja, zostaja zastapione nowymi? Bo ja rozumiem to tak, ze najpierw wyciaga wartosci i nadaje nowe klucze, potem tasuje wyciagniete wartosci i na koncu laczy. Skad funkcja laczaca wie ze ma wziasc klucze oryginalne a nie te nadpisane? Sorki za takie postawy ale musze wszystko dobrze rozumiec (IMG:style_emoticons/default/tongue.gif) .
Acha i na stronie funkcja shuffle ma taki wyglad: http://php.net/manual/pl/function.shuffle.php . Moge nia tasowac tylko same wartosci wraz z przypisanymi do niej kluczami? I ostatania sprawa - ja uzywam echo do wyswietlania, a czemy Wy uzywacie print_r? (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 12:24 |