Autor Zpráva
lukovoc
Profil *
Potřebuji vypsat 3 výsledky, ale aby nemohl být ani jeden stejný jako jiný:

<?php
$RandomList = array();
$RandomList[] = "Discount: 20%";
$RandomList[] = "Discount: 25%";
$RandomList[] = "Discount: 30%";
$RandomList[] = "Discount: 35%";
$RandomList[] = "Discount: 40%";
$RandomList[] = "Discount: 45%";
// Leave next line as is.
echo $RandomList[rand(0,count($RandomList)-1)];
echo $RandomList[rand(0,count($RandomList)-1)];
echo $RandomList[rand(0,count($RandomList)-1)];
?>
blaaablaaa
Profil
lukovoc:
Je třeba vždy vybraný prvek z pole vyjmout a přeřadit indexy.

Druhou možností je pomocí funkce shuffle zamíchat a poté přes array_pop vytáhnout vždy poslední prvek.
lukovoc
Profil *
To dohromady nedám. Tak nic. Ale díky za pomoc.
Kajman
Profil
print_r(array_rand($RandomList, 3));
lukovoc
Profil *
Kajman:
To ale vypíše :

Array ([0] => 1[1] => 3[2] => 5 )
Keeehi
Profil
lukovoc:
Ano, to jsou náhodně vybrané indexy z toho pole. Stačí výsledek jen projít a podle každého indexu vypsat příslušný záznam.

$indexes = array_rand($RandomList, 3);

foreach($indexes as $index) {
    echo $RandomList[$index];
}
lukovoc
Profil *
Keeehi:
Děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0