Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Tasowanie tablicy asocjacyjnej
-lukasamd-
post
Post #1





Goście







Witam,
mam tablicę wyglądającą tak:

Kod
$array['A'] = 'Tekst 1';
$array['B'] = 'Tekst 2';
$array['C'] = 'Tekst 3';
$array['D'] = 'Tekst 4';


Chciałbym ją sobie posortować losowo, a więc przetasować.
Gdy używam shuffle, niestety tracę nadane klucze, które są mi potrzebne.

W manualu jeden z pierwszych komentarzy do shuffle daje takie rozwiązanie:

  1. function shuffle_assoc(&$array) {
  2. $keys = array_keys($array);
  3.  
  4. shuffle($keys);
  5.  
  6. foreach($keys as $key) {
  7. $new[$key] = $array[$key];
  8. }
  9.  
  10. $array = $new;
  11.  
  12. return true;
  13. }


No i działa bardzo dobrze.
Ale czy nie ma wbudowanej w PHP funkcji od czegoś takiego?

Wiem, pytanie może i dziwne, ale zasób funkcji często okazuje się większy, niż nam się pierwotnie wydaje, a takie tasowanie chyba czasami jest przydatne. (IMG:style_emoticons/default/blinksmiley.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- lukasamd   [PHP] Tasowanie tablicy asocjacyjnej   7.06.2010, 12:05:54
- - wookieb   Nie ma takiej funkcji   7.06.2010, 12:11:17
- - vermis   Tablica asocjacyjna umożliwia nazywanie elementów ...   7.06.2010, 12:13:11
- - lukasamd   W sumie można rzeczywiście zmienić jej konstrukcję...   7.06.2010, 12:22:56
- - wookieb   Cytat(vermis @ 7.06.2010, 13:13:11 ) ...   7.06.2010, 12:23:14


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 19:08