Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Probrem z "rand"
Forum PHP.pl > Forum > Gotowe rozwiązania
slepy
Witam mam taki malutki problemik ;]

tak wyglada moj kod:

Kod
<?php

$baner=rand(1,2,3,4);

?>

a kawalek nizej:
Kod
<p>2.<?include("$baner.txt");?></p>

kiedy otiweram strone wyskakuje mi error:
Warning: rand() expects exactly 2 parameters, 4 given in c:apachehtdocsdow.php on line 94
;]
z tego co sie domyslam chodzi oto ze moga byc maxksymalnie 2 teksty do wybotu.
Czy jest mozliwosc zrobienia wiekszej ilosci questionmark.gif
bardzo prosze o pomoc.
Jabol
nie całkiem, rand przyjmuje do dwóch argumntów, pierwszy to najmniejsza liczba a drugi to największa jaką może zwrócić, jeżeli chcesz tak jak teraz to musisz zrobić tak[php:1:f3d816278e]<?php
$banners=array('nazwy', 'bannerów');
$banner=rand(0, sizeof($banners));
include($banners[$banner]);
?>[/php:1:f3d816278e]
DeyV
Można też tak:
Cytat
Przykład użycia array_rand()
[php:1:11001e0674]<?php
srand ((float) microtime() * 10000000);
$wejscie = array ("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$losowe_klucze = array_rand ($wejscie, 2);
print $wejscie[$losowe_klucze[0]]."n";
print $wejscie[$losowe_klucze[1]]."n";  
?>[/php:1:11001e0674]
Jabol
q no tak, trzeba dodać srand na początku. Bez tego otrzymasz chyba zawsze tą samą liczbę. i pamiętaj, żęby inicjować rand'a wartościami losowymi, jak np. microtime()
Jabol
hehe, nikt nie zauważył błędu... sizeof($tablica) zwraca wartości jakby liczył od jednego więc może się pojawić pusty element, co wywoła błąd
Powinno być tak
Cytat
[php:1:6822b40e29]<?php
$banners=array('nazwy', 'bannerów');
$banner=rand(0, (sizeof($banners)-1));
include($banners[$banner]);
?>[/php:1:6822b40e29]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.