Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] losowe wybranie tekstu
bikemax
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 7.12.2007

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


Witajcie

Mam problem z funkcją Array w PHP. Napisałem krótki skrypt który ma między innymi generować tekst, działał bez problemu, dopóki napisałem druki plik z podobnymi funkcjami i nagle przestał działać skrypt... Mam bardzo mała więdzę, mam nadzieję że mi pomożecie.

Oto skrypt:
  1. $l_42 = array('produkcji', 'tworzeniu', 'projektowaniu');
  2. shuffle ($l_42);
  3. echo $l_42;


Czego wynikiem powinno być wyświetlony losowo jeden z tekstów a wyświetla sam napis Array... Nie wiem o co chodzi. A wcześniej normalnie działał.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


https://www.php.net/shuffle
Czytałeś w ogóle co robi funkcja shuffle? Masz tablicę, zmieniasz jej kolejność. Więc jakim cudem echo tablicy ma ci dac jakiś losowy element?
Go to the top of the page
+Quote Post
Malinaa
post
Post #3





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


Jeżeli ma to być ze shufflem może tak

  1. $l_42 = array('produkcji', 'tworzeniu', 'projektowaniu');
  2. shuffle($l_42);
  3. echo 'Losowa wartość => ' . $l_42[0];


albo w jednej linii

  1. echo $l_42[rand(0, count($l_42=array('produkcji', 'tworzeniu', 'projektowaniu')) - 1)];


lecz jeśli ma to być tylko jeden element użyj array_rand()

  1. $l_42 = array('produkcji', 'tworzeniu', 'projektowaniu');
  2. $rand = $l_42[array_rand($l_42)];
  3. echo $rand;



Ten post edytował Malinaa 25.12.2020, 11:02:07
Go to the top of the page
+Quote Post
krispak
post
Post #4





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Do wybrania jednego lub więcej losowych kluczy z tablicy używa się array_rand
  1. $l_42= array('produkcji', 'tworzeniu', 'projektowaniu');
  2. $rand_keys = array_rand($l_42);
  3. echo $l_42[$rand_keys];


Drugi parametr w array_rand(array $array, int $num = 1) określa ile wpisów należy pobrać.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 14:16