2010-08-04 6 views
1

Je veux obtenir toutes les clés du tableau une comparaison chaque touche nombre, somthing comme ça:Il existe un moyen d'obtenir toutes les clés du tableau?

array(
[0] => 7 
[1] => 8 
[2] => 4 
[3] => 6 
) 

if (6 != EACH KEY OF ARRAY) { 
    so... 
} 

L'état montrer l'habitude parce qu'il ya [3] => 6 et la clé 6 = 6 bien sûr .

Il y a une fonction pour le faire? Quelque chose d'autre?

+4

Vraiment maintenant? Vous ne pouviez pas simplement google "clés de tableau php"? – meagar

+0

pour obtenir la liste des clés du tableau http://www.php.net/manual/fr/function.array-keys.php [array_keys] et pour parcourir tous les membres du tableau sans connaître les clés, utilisez http: // www. php.net/manual/fr/control-structures.foreach.php [foreach] – KoolKabin

+0

Tout est dans Google, alors pourquoi ce site existe-t-il? Im begginer donc je ne le connais pas bien (et je suis vraiment désolé -_-). – Luis

Répondre

8

.

foreach($array as $key => $val) 
{ 
    if (6 != $key) { 
    // so... 
    } 
} 

Exemple:

$array = array(7, 8, 4, 6); 

foreach($array as $key => $val) 
{ 
    if (6 != $key) { 
    echo '6 is not equal to ' . $key . '<br />'; 
    } 
    else { 
    echo '6 is equal to ' . $key . '<br />'; 
    } 
} 

Résultat:

6 is not equal to 7 
6 is not equal to 8 
6 is not equal to 4 
6 is equal to 6 

Cependant, si vous voulez vérifier si la valeur de 6 est présent dans le tableau , utilisez in_array comme ceci:

if (in_array(6, $array)) { 
    // 6 is present in the array 
} 
+0

si (6! = $ Key && 6! = $ Val) { – Fosco

+0

Ce n'est pas bon, car il fera l'état de nombreuses fois .. Je veux passer sur le tableau une fois et vérifier tout en une fois. En tout cas, merci! – Luis

+0

@Fosco: OP doit vérifier les clés car il n'a pas spécifié si la valeur existe, mais je l'ai suggéré aussi. – Sarfraz

0
if(!in_array(6)) { 
} 

Oui je sais OP demande sur les clés, mais de son exemple, il semble qu'il veut des valeurs.

+0

Il ne cherche pas la valeur 6, mais la clé, où '$ array [clé] = value' – XLR3204S

+0

nope, il cherche la valeur ... look @ OP le commentaire sur la réponse acceptée – pxl

4

Vous voulez que les fonctions array_keys, les plus probables:

<?php 
$array = array(7,8,4,6); 

// Keys is an array of the keys from $array - [0,1,2,3] 
$keys = array_keys($array); 

print_r($keys); 
?> 

La sortie de cette print_r seraient:

Array 
(
    [0] => 0 
    [1] => 1 
    [2] => 2 
    [3] => 3 
) 

(Notez les clés d'origine sont les valeurs du nouveau tableau.

Ensuite, vous voulez vérifier si la valeur que vous recherchez est dans le tableau en utilisant in_array:

<?php 
echo in_array(6, $keys) // FALSE 
?> 
0

Je ne sais pas si je comprends ce que vous demandez, mais l'un d'entre eux vous tiennent probablement:

Parvenez clés:

print_r(array_keys($array)); 

Clés d'échange avec des valeurs:

print_r(array_flip($array)); 

foreach ($array as $key => $value) 
{ 
    var_dump($key, $value); 
} 
0

vous ne pouvez pas avoir plus d'un de la même clé il n'y a donc pas besoin de boucle à travers l'ensemble du réseau il suffit d'écrire le code pour chercher.vous pouvez le faire:

 
$arr = Array('1'=>'a','3'=>'b','6'=>'c'); 

if (array_key_exists('6',$arr)) 
{ 
    echo 'value of 6 = ' . $arr['6']; 
} 
1

Si vous voulez juste voir si une clé est présente dans le tableau, c'est la méthode la plus rapide:

$key = 6; // for example 
if(isset($myArray[$key])) 
{ 
    echo "the key $key is used in the array"; 
} 
Questions connexes