Aller au contenu

Différence entre une clé et un index ?


Sujets conseillés

Posté (modifié)

Bonjour,

J'aurais aimé savoir, en ce qui concerne les tableaux, quelle est la différence entre une clé et un index ? de même, je lis sur un livre "clé d'index". Tous ces termes représentent-ils finalement la même chose ?

Merci d'avance

Modifié par Xeon
Posté

Bonjour

Pourrais tu nous donner le contexte exacte de ces termes (langage etc ) ?

Sur des tables (et pas tableau ) la réponse aurait été facile mais là ....

Posté (modifié)

C'est pour PHP, etle problème se opse à moi parapport aux fonctions de tri ou de navigation

Je pars a des exemples pris dans le livre php4 et MySQL de chez Micro application :

Par ex ce script :

<?

$arr=array(e1=>10,e2=>11,e3=>12);

next($arr);

$arr1 = each($arr);

foreach ($arr1 as $key=>$elem) {

echo "$key=>$elem ";

}

?>

Donne comme résultat :

1=>11 value=>11 0=>e2 key=>e2

Déjà je ne comprends pas un tel résultat. c'est censé faire sortir la paire clé/valeur. Mais alors pourquoi y a-t-il 4 données qui sortent. A quoi correspondent les premiers chiffres : Le 1 et un 0 ? Où la clé, où est la valeur ?

Ensuite un autre problème (à mon avis du même genre par rapport à cette chose qui m'échappe) se pose dans l'exemple suivant :

<?

$arr = array ("d"=>"Doris", "c"=>"Carola", "b"=>"Burga", "e"=>"Elvira", "an"=>"Anna", "am"=>"Amanda");

uksort($arr, comparaison);

foreach ($arr as $key=>$elem) {

echo "$key=>$elem ";

}

function comparaison($a,$B) {

if ($a==$B)

return 0;

elseif ($a > $B)

return 1;

else

return -1;

}

?>

Affichant en résultat : am=>Amanda an=>Anna b=>Burga c=>Carola d=>Doris e=>Elvira

Voici comment l'auteur du livre présente cet ex :

"La fonction ukort() constitue un exemple de fonction de tri plus complexe. Cette fonction, également conçue pour le tri de tableaux associatifs sur la base de leurs clés, utilise pour la procédure de tri une fonction définie par l'utilisateur, la fonction comparaison().

La fonction comparaison() requiert deux variables à comparer, par exemple $a et $b. Selon que $a == $b, $a > $b ou bien $a < $b, la valeur retournée est 0, 1 ou -1."

Alors là je nage. Je ne vois pas comment les clés sont réattribuées, simplement en regardant le résultat. Si les clés sont simplement conservées en mémoire, et qu'elles déterminent l'ordre de tri, comme je crois le comprendre, selon quel critère sont-elles ensuite attribuées ?

Modifié par Xeon

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...