2010-08-31 4 views
0

Sous le code php, j'ai sélectionné "Neo" afin que Neo ne sélectionne pas le hasard sélectionné. Et une autre valeur 2 devrait imprimer.La valeur sélectionnée ne doit pas être sélectionnée dans le champ array_rand

<?php 
    $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); 
    $rand_keys = array_rand($input, 2); 
    echo $input[$rand_keys[0]] . "\n"; 
    echo $input[$rand_keys[1]] . "\n"; 
    ?> 

Et mon tableau est un tableau multi-dimentionnal est échantillon ici

array(1) { ["data"]=> array(301) { [0]=> array(2) { ["name"]=> string(10) "Some Name" ["id"]=> string(9) "5000213929" } 
+0

Essayez-vous de demander comment arrêter de choisir "Neo"? – ewanm89

+0

Oui mais dans un tableau multidimensionnel mon échantillon est un tableau simple – Elankeeran

Répondre

1

Comment savez-vous ce que "a été sélectionné"? Est-ce dans une variable? Vous aurez besoin de savoir que pour la valeur de UNSET du tableau à l'aide array_search

unset($input[array_search('Neo', $input)]); 
$rand_keys = array_rand($input, 2); 

Ce qui devrait désinitialiser Neo rendant ainsi pas une option à utiliser dans la randomisation. Il y a probablement de meilleurs moyens de le faire, mais c'est un moyen. Et bien sûr, si vous avez un moyen de déterminer si Neo a été sélectionné, vous utiliserez cette variable à la place de 'Neo'.

+0

Je reçois NULL depuis mon tableau est un tableau à 2 dimensions – Elankeeran

Questions connexes