E' da un po' che programmo in php, e devo dire che fino ad ora mai avuto grossi problemi, però ora mi trovo di fronte a questo dilemma:
Vorrei far vedere a random (nella variabile $a con valori da 0 a 51) 8 elementi diversi tra loro dell'array $carte, per fare questo dovrei cancellare ad ogni ciclo l'elemento dell'array stampato, ho provato a farlo mediante la funzione iniziale che ho trovato in rete che ho denominato array_cancella che non mi ha portato a nessun risultato, ho provato anche alla fine del ciclo for ad associare a NULL l'elemento dell'array, però non funziona nulla dato che ad ogni volta che stampo i valori a volte me li fa visualizzare doppi!
Il codice è questo:
Codice: Seleziona tutto
function array_cancella($array, $item) {
if (isset($array[$item])){
unset($array[$item]);
}
return array_merge($array);
}
$n = 0;
for ($n=0; $n<9; $n++){
$carte = array("AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "DC", "JC", "QC", "KC",
"AQ", "2Q", "3Q", "4Q", "5Q", "6Q", "7Q", "8Q", "9Q", "DQ", "JQ", "QQ", "KQ",
"AF", "2F", "3F", "4F", "5F", "6F", "7F", "8F", "9F", "DF", "JF", "QF", "KF",
"AP", "2P", "3P", "4P", "5P", "6P", "7P", "8P", "9P", "DP", "JP", "QP", "KP");
$a = rand(0, 51);
$carta[$n] = $carte[$a];
if ($n == 0){
print ("1 - $carta[$n] ");
} else {
if ($n == 1){
print ("$carta[$n] <br />");
} else {
if ($n == 2){
print ("2 - $carta[$n] ");
} else {
if ($n == 3){
print ("$carta[$n] <br />");
} else {
print ("$carta[$n] ");
}
}
}
}
$carte = array_cancella($carte, $a);
$carte[$a] = NULL;
}