Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] losowe wybranie tekstu
bikemax
post 24.12.2020, 14:15:14
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ł.


--------------------
Internetowe Centrum Motocyklisty
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
viking
post 24.12.2020, 14:26:05
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 25.12.2020, 10:51:55
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


--------------------
I welcome you on the Internet >>> Design by Malina
Go to the top of the page
+Quote Post
krispak
post 5.01.2021, 21:17:25
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ć.


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
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: 14.08.2025 - 02:50