![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam tablicę, której struktura wygląda następująco: Array ( [0] => Array ( [id] => 1338319986 [name] => ccm [1] => Array ( [id] => 1467091237 [name] => ooa [2] => Array ( [id] => 1467091237 [name] => ooa)) Chcę, aby jej elementy pozamieniały się ze sobą losowo kolejnością tzn. tylko [0], [1], [2], dalsza struktura pozostaje bez zmian. Problem może błahy ale niestety nie mogę sobie z tym poradzić. Googluje od dwóch godzin i w sumie nie znalazłem nic, co by poprawnie zadziałało. Z tego co wyczytałem teoretycznie zadzaiałać powinno shuffle(). Jakoś działa, tyle że wygląda to tak, że zamiast tasować to sobie losuje bo elementy się powtarzają. Jak to ugryźć? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Uwaga: Samo shuffle przemiesza całą tablicę.
Jeżeli chcesz przemieszać tylko początek to (np.): Sprawdziłem - działa. Uwaga: Zarówno shuffle jak i array_splice "regenerują" klucze. Jeżeli to szkodzi, to musisz: 1. Przemieszać tablicę zawierającą 3 początkowe indeksy (nie jestem pewny czy zawsze są to 0, 1 i 2). 2. Wyciągać elementy w kolejności wg tej przemieszanej tablicy (do tabl. rob.). Dopiero potem dodać do niej pozostałe. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 04:34 |