Ca sa obtineti un
numar aleator in PHP, se poate folosi functia
mt_rand() (exista si functia
rand(), dar conform documentatiei PHP,
mt_rand() e mai rapida).
- Exemplu:
$nr = mt_rand();
echo $nr;
• Ca sa obtineti numarul aleator dintre un numar minim si maxim, se foloseste aceasta sintaxa:
mt_rand($min, $max).
$nr = mt_rand(1000, 9999);
echo $nr;
Numere aleatoare din array
Daca aveti un array cu numerr si vreti sa obtineti un numar aleator din acel array, se poate aplica functia
array_rand(). Aceasta functie returneaza cheia unui element din array ales aleator.
- Exemplu:
$nrs = array(123, 567, 4556, 34245, 78);
$rk = array_rand($nrs);
$nr = $nrs[$rk];
echo $nr; // 4556
• Daca vreti sa alegeti mai mult de o cheie din array, adaugati un al doilea argument, care reprezinta numarul de chei (mai mic decat numarul de elemente din acel array). In acest caz,
array_rand($array, $nrk) va returna un array cu $nrs numere de chei aleatoare din $array.
$nrs = array(123, 567, 4556, 34425, 78, 789);
$rks = array_rand($nrs, 2); // contine 2 chei aleatoare (2, 5)
echo $nrs[$rks[0]]; // 4556
echo $nrs[$rks[1]]; // 789
Numar aleator cu cifre distincte
Daca vreti sa obtineti un numar aleator dintre un minim si maxim, dar
cu cifre distincte, fara ca vreo cifra sa se repete in numarul ales aleator, puteti folosi urmatoarea functie.
<?php
// returneaza un numar aleator intre $min si $max, cu cifre distincte
function getDistinctNr($min, $max) {
// obtine numar aleator cu cifre diferite ( www.coursesweb.net )
$nrstr = (string) mt_rand($min, $max); // numar aleator transformat in sir
$n_nr = strlen($nrstr); // numarul de caractere
$setnr = array(); // va retine cifrele ce formeaza numarul aleator returnat
// parcurge caracterele din $nrstr ca sa retima in $setnr doar cifrele distincte
// daca cifra e deja in $setnr, parcurge numerele de la 0 la 9 ca sa o inlocuiasca cu alt numar distinct
for($i=0; $i<$n_nr; $i++) {
if(!in_array($nrstr[$i], $setnr)) $setnr[] = $nrstr[$i];
else {
for($i2=0; $i2<10; $i2++) {
if(!in_array($i2, $setnr)) {
$setnr[] = $i2;
break;
}
}
}
}
return implode('', $setnr);
}
// Test
$nr = getDistinctNr(1000, 9999);
echo $nr;
?>
Un Test simplu in fiecare zi
HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tip de <input> creaza un camp de text care trebuie sa contina doar numere?
type="text" type="number" type="date"<input type="number" name="points" min="5" max="80" />
Ce proprietate CSS permite modificarea transparentei unui element?
font-style opacity color#id {
filter:alpha(opacity=40); /* for IE */
opacity:0.4;
}
Clic pe functia care formateaza un numar la o anumita lungime de caractere.
toPrecision() exp() toFixed()var num = 12.84567;
alert( num.toPrecision(3) ); // 12.8
Ce functie aranjeaza aleator elementele dintr-un array?
natsort() shuffle() sort()$lang =[10=>"PHP", 20=>"JavaScript", "site"=>"coursesweb.net");
shuffle($lang);
var_export($lang); // array (0=>"coursesweb.net", 1=>"PHP", 2=>"JavaScript")
Indicati Superlativul cuvantului "good" (bun).
better best goodestShe is the best in our class.
- Ea este cea mai buna din clasa noastra.
Care este Superlativul cuvantului "bueno" (bun)?
el mejor más bueno muy buenoÉl es el mejor en nuestra clase.
- El este cel mai bun din clasa noastra.