Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rand();
dexter_m
post 19.07.2005, 16:38:03
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Witam!

Czy funkcja rand(); działa tylko na liczbach np.

  1. <?
  2.  
  3. $i = rand(1, 100);
  4. echo ($i);
  5.  
  6. ?>


Mianowicie chodzi mi o to czy jest jakaś funkcja, lub inne rozwiązanie które zastąpiło by ten niepoprawny zapis tak aby był poprawny:

  1. <?php
  2. //BEGIN
  3.  
  4. $cytat1 = &#092;"...To co wiemy, jest tylko kroplą, to czego nie wiemy, to cały ocean...\";
  5. $cytat2 = &#092;"...Dwie rzeczy są nieograniczone - wszechświat i ludzka głupota...\";
  6.  
  7. $i = rand($cytat1, $cytat2);
  8. echo &#092;"$i\";
  9.  
  10. //END
  11. ?>


Chciałbym aby skrypt generował losowo cytaty. Z góry dzięki za odpowiedzi!
Dexter smile.gif

Ten post edytował dexter_m 19.07.2005, 16:40:05


--------------------
Warsztat: Windows XP | Apache2 | php 50.X | MySQL 4.1
Projekt: Deutsch Translator 2006 - 40%
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
legorek
post 19.07.2005, 16:40:35
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Robisz tabele z cytatmi i losujesz klucze.


--------------------
Go to the top of the page
+Quote Post
Ociu
post 19.07.2005, 17:55:48
Post #3





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




array_rand" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
dexter_m
post 19.07.2005, 17:57:47
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Zrobiłem coś takiego:

  1. <?
  2.   //script by Juri
  3.   
  4.   $cytaty = array(1 => '...To co wiemy jest tylko kroplą, to czego nie wiemy, to cały ocean...', 2 => '...Są dwie rzeczy niezastąpione: wszechświat i ludzka głupota...', 3 => '...Liczba jest istotą wszystkich rzeczy...', 4 => 'Liczba jest istotą wszystkich rzeczy');
  5.   $losuj_cytaty = rand($cytaty);
  6.  
  7. echo &#092;"$losuj_cytaty\";
  8.  
  9. ?>


i wyświetla mi błąd:

Warning: rand() expects exactly 2 parameters, 1 given in c:\usr\apache\httpd\html\cytat.php on line 5


Jeszcze jedna taka mała uwaga, ja z tej tablicy nie chcę wyciągnąć kluczy tylko wartości, (chociaż...mógłbym też zrobić klucze jako ciągi (cytaty) i wyciągnąć klucze)

Co zminić, gdzie błąd? Pozdrawiam, Dexter.

Ten post edytował dexter_m 19.07.2005, 18:03:11


--------------------
Warsztat: Windows XP | Apache2 | php 50.X | MySQL 4.1
Projekt: Deutsch Translator 2006 - 40%
Go to the top of the page
+Quote Post
Ociu
post 19.07.2005, 18:00:42
Post #5





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Cytat
int rand ( int min, int max )

skorzystaj z array_rand, tak jak pisałem wyżej.
Go to the top of the page
+Quote Post
dexter_m
post 19.07.2005, 18:02:07
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Dobra, napisałem coś takiego:

  1. <?
  2.   //script by Juri
  3.  
  4.   $cytaty = array(1 => '...To co wiemy jest tylko kroplą, to czego nie wiemy, to cały ocean...', 2 => '...Są dwie rzeczy niezastąpione: wszechświat i ludzka głupota...', 3 => '...Liczba jest istotą wszystkich rzeczy...', 4 => 'Liczba jest istotą wszystkich rzeczy');
  5.  $losuj_cytaty = array_rand($cytaty); //umyślnie nie wpisuję drugiej wartości
  6.   echo &#092;"$losuj_cytaty\";
  7. ?>


wszystko byłoby w porządku gdyby nie to że skrypt zwraca mi klucze, a mi zależy na wartościach ;(

jak zrobić by zwracane były wartości czyli cytaty?

WIEM!!
Po prostu trzeba:

  1. <?php
  2.  
  3. $cytaty = array('...To co wiemy jest tylko kroplą, to czego nie wiemy, to cały ocean...' => '...To co wiemy jest tylko kroplą, to czego nie wiemy, to cały ocean...',);
  4.  
  5. ?>


i tak dalej...

Dzięki Ociu za podpowiedź, Kolejna udana przygoda z php! winksmiley.jpg

OSTATECZNY KOD generatora cytatów:

  1. <?
  2.   //script by Juri <dexter_m>
  3.  
  4.   $cytaty = array('...To co wiemy jest tylko kroplą, to czego nie wiemy, to cały ocean...' => '...To co wiemy jest tylko kroplą, to czego nie wiemy, to cały ocean...', '...Są dwie rzeczy niezastąpione: wszechświat i ludzka głupota...' => '...Są dwie rzeczy niezastąpione: wszechświat i ludzka głupota...', '...Liczba jest istotą wszystkich rzeczy...' => '...Liczba jest istotą wszystkich rzeczy...', '...Doświadczenie to suma błędów jakie popełniliśmy w życiu...' => '...Doświadczenie to suma błędów jakie popełniliśmy w życiu...');
  5.  $losuj_cytaty = array_rand($cytaty); //umyślnie nie wpisuję drugiej wartości
  6.   echo &#092;"$losuj_cytaty\";
  7. ?>


Ten post edytował dexter_m 19.07.2005, 18:23:47


--------------------
Warsztat: Windows XP | Apache2 | php 50.X | MySQL 4.1
Projekt: Deutsch Translator 2006 - 40%
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 - 03:30