Opakující se PHP výsledek
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)];
?>
Tak za prvé to dělej v cyklu.
A pokud jde o unikátnost, tak je více možností. Nejprimitivnější ale potenciálně nebezpečná je ta, že si pokaždé zkontroluješ, jestli už jsi to nevylosoval před tím.
Tak to vůbec nevím o čem píšeš. Marně hledám na netu hotové řešení.
Nevíš ani co jsou cykly? To jsou ale úplné základy.
Případně ještě můžeš použít http://php.net/manual/en/function.array-rand.php
To funguje, ale já jich potřebuji vypsat 5 a to pak nefunguje:
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 5);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
echo $input[$rand_keys[2]] . "\n";
echo $input[$rand_keys[3]] . "\n";
echo $input[$rand_keys[4]] . "\n";
?>
Co znamená, že to nefunguje?
Vypíše to sice 5 každé jiné, ale při F5 se nic nezmění.
Když to dám takto tak se zase mění jen ty 3 poslední, ale ten první ne, ten je pořád stejný:
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 4);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
echo $input[$rand_keys[2]] . "\n";
echo $input[$rand_keys[3]] . "\n";
?>
http://php.net/manual/en/function.shuffle.php
Já se v tom opravdu nevyznám. Kašli na to, určitě máš jinou práci. Zase tak nutně to nepotřebuju. To je jedno. Udělám to nějak jinak.
Ještě se zeptám. Půjde to pomocí javascriptu? Jestli to mám hledat na internetu. Chtěl jsem sice PHP ale bohužel.
Princip je ve všech jazycích stejný.
Takže bych tomu taky nerozuměl. Je ještě nějaké řešení co by fungovalo aniž bys mě musel napsat výsledek? To předpokládám udělat nechceš.
Tak už si můžeš to tajemství nechat pro sebe. Zeptal jsem se na jiné poradně. Aspoň že karma je zdarma. Taky budeš jednou potřebovat poradit. NEBOJ!!!
Tvé řešení uvedené v tomto vlákně v příspěvku:
https://pc.poradna.net/questions/2833645-opakujici-se-php-vysledek#r2833658
funguje úplně stejně jako je to uvedené ve vlákně, které jsi založil na jpw a které ti tam poradil Keeehi.
Akorát že ten to má řešené přes foreach a ty to tu máš vypsané po řádku jednotlivě.
To, že sis myslel, že první index se ti nemění je pouze na základě toho, že jsi to nezkoušel obnovovat víckrát a první index se ti bude měnit při výběru 4/5 jen relativně málo a to ve 20 % obnovení.