Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SOLVED] [PHP] array shuffle - zgłupiałem...
colachips
post 16.04.2013, 11:48:14
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 12.01.2009

Ostrzeżenie: (0%)
-----


Witam,

Czytam manuala, ale chyba nie rozumiem przekazu... Z opisu wynika, że funkcja http://www.php.net/manual/en/function.shuffle.php miesza kolejność elementów tablicy ["This function shuffles (randomizes the order of the elements in) an array."], natomiast zwraca TRUE lub FALSE zamiast samej tablicy?? Dlatego takie coś zwróci TRUE zamiast nowej, pomieszanej tablicy:
  1. $t = shuffle(range(1, 5));
  2. var_dump($t); // boolean true


OCB?

Pozdr.

// E:

jak zwykle zaraz po napisaniu posta doznałem olśnienia. Oto jak to powinno wyglądać:
  1. $t =range(1, 5);
  2. shuffle($t);


Ten post edytował colachips 16.04.2013, 12:01:34
Go to the top of the page
+Quote Post
matiit
post 16.04.2013, 11:50:49
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Bo tak działa funkcja. Zwraca bool, żebyś wiedział czy się udało pomieszac, czy nie wink.gif

  1. function array_shuffle($arr)
  2. {
  3. $arr_copied = $arr;
  4. if (shuffle($arr))
  5. return $arr;
  6. else
  7. return $arr_copied;
  8. }

Masz wersję taką jak chcesz wink.gif

Ten post edytował matiit 16.04.2013, 11:53:01
Go to the top of the page
+Quote Post
nospor
post 16.04.2013, 11:52:52
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przecież masz jak wół napisane: zwraca TRUE lub FALSE.... To nie zwraca tablicy....

Do tego masz przekazać tablicę w postaci zmiennej, a nie range..... wówczas po wywolania tej funkcji w twojej zmiennej będzie zmieszana tablica. Ale to wszystko masz opisane i pokazane na przykladzie w manualu...

Cytat
jak zwykle zaraz po napisaniu posta doznałem olśnienia. Oto jak to powinno wyglądać:

Też mi olśnienie.... dokładnie tak masz podane w manualu....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
colachips
post 16.04.2013, 12:00:28
Post #4





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 12.01.2009

Ostrzeżenie: (0%)
-----


Ok, ok dzięki smile.gif Wiem, że napisane w manualu, ale czytam bez zrozumienia nie umyślnie, po prostu się zakręciłem - zdarza się smile.gif W każdym razie fakt, że "olśnienie" przychodzi minutę po napisaniu posta jest dla mnie tajemnicą, ale też pewną deską ratunku - kiedy nie mogę znaleźć rozwiązania jakiegoś problemu, wiem że wystarczy, że napiszę posta i zaraz wpadnę na rozwiązanie... Może kiedyś dopracuję technikę takiego pisania postów, żeby ich nie pisać w rzeczywistości, ale to już wyższa szkoła jazdy biggrin.gif
Go to the top of the page
+Quote Post
nospor
post 16.04.2013, 12:02:28
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
wiem że wystarczy, że napiszę posta i zaraz wpadnę na rozwiązanie...
To może zamiast lecieć na forum leć do manuala. Wyjaśniam ci, że rozwiązanie na które rzekomo "wpadłeś" masz czarno na białym podane w manualu....
http://php.net/manual/en/function.shuffle.php
Cytat
<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}

A znajduje się ono tuż pod wyjaśnieniem, że funkcja zawsze zwraca TRUE lub FALSE....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
colachips
post 16.04.2013, 12:05:25
Post #6





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 12.01.2009

Ostrzeżenie: (0%)
-----


Przecież napisałem, że wiem że jest w manualu smile.gif Ech, czy Puchatkowi nie zdarzyło się nigdy zakręcić w poszukiwaniu garnca z miodkiem? wink.gif
Problem rozwiązany, dziękuję za uwagę smile.gif
Go to the top of the page
+Quote Post
sajegib
post 16.04.2013, 12:11:19
Post #7





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

Ostrzeżenie: (0%)
-----


Ja tam zakładam, że puchatek po prostu dobrze szuka zanim zapyta na forum smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 17:26