bonjour,
j'ai un tableau comme ceci:
$label = array("courrier" => "reception", "emission" => "emission");
je cherche à avoir le premier élément et pour l'instant, je fais un
foreach en faisant un break tout de suite mais il y a sans aucun doute
moyen de faire mieux pour adresser le premier élément de $label
merci d'avance,
je veux le premier élément de l'énumération et je ne demande rien d'autre, point barre
$tableau[0] et on n'en parle plus ?
Bruno Desthuilliers
In article <467b7b36$0$11646$, Bruno Desthuilliers wrote:
Les "tableaux" PHP sont un peu bâtards. Ce sont des essentiellement des tableaux associatifs ordonnés capable de s'auto-indexer (avec une clé numérique auto-incrémentée) quand on ajoute un élément sans préciser la clé - bref, on peut les utiliser indifférement comme des tableaux associatifs ou comme des tableaux séquentiels. Dans ce contexte, la notion de "premier élément" a bien un sens.
la je comprends mieux. j'ai donc confondu des vrais "hash" avec les tableaux associatifs bâtards de php.
Tu a confondu une implémentation d'un tableau associatif (la plus courante) avec une autre. J'ai utilisé le terme de "bâtard" parce que les tableaux PHP peuvent fonctionner *simultanément* comme des tableaux séquentiels indexés et comme des tableaux associatifs.
In article , Olivier Miakinen <om+ wrote:
Et pourtant si. Les éléments du tableau associatif se présentent dans un ordre donné qui, même s'il est arbitraire, ne change pas au hasard. Tu peux même trier un tableau associatif en conservant l'association entre les clés et les valeurs (cf. les fonctions asort, arsort, ksort, krsort et uksort).
un ordre 'donné' oui ok. mais le premier élément entré n'est pas forcément le premier élément du "tableau".
Tu a essayé ? En PHP, je veux dire ?
In article <467ac792$0$28405$, Marc Valette wrote:
alors, on va te le retraduire: premier élément de l'énumération mais c'est vraiment pour martyriser l'arrière train des mouches :-)
bruno précise que ces "tableaux" php ne sont pas de vrais tableaux indexés. donc dans le cas de php tu as raison. dans le cas de vrais "hash" ta question n'as pas de sens.
Ce que tu appelles un "hash" est un tableau associatif *basé sur* une table de hachage. Le "hash" lui-même (qui par ailleurs ne se fume pas) est le résultat de l'application de la fonction de hachage à l'élément qui doit servir de clé dans le tableau associatif. Accessoirement, c'est l'utilisation de cette fonction de hachage qui fait qu'un tableau associatif basé sur une table de hachage est a priori ordonnée de façon arbitraire (puisque c'est la fonction de hachage qui détermine la relation d'ordre) - je dis 'a priori' car certaines tables de hachage peuvent jouer avec l'ordre en cas de collision (hachage similaire pour deux clés différentes). Bref, même dans le cas d'une table de hachage, il peut y avoir une relation d'ordre (même si elle est inexploitable dans la pratique).
In article <467b7b36$0$11646$426a74cc@news.free.fr>,
Bruno Desthuilliers <bruno.42.desthuilliers@wtf.websiteburo.oops.com>
wrote:
Les "tableaux" PHP sont un peu bâtards. Ce sont des essentiellement des
tableaux associatifs ordonnés capable de s'auto-indexer (avec une clé
numérique auto-incrémentée) quand on ajoute un élément sans préciser la
clé - bref, on peut les utiliser indifférement comme des tableaux
associatifs ou comme des tableaux séquentiels. Dans ce contexte, la
notion de "premier élément" a bien un sens.
la je comprends mieux. j'ai donc confondu des vrais "hash" avec les
tableaux associatifs bâtards de php.
Tu a confondu une implémentation d'un tableau associatif (la plus
courante) avec une autre. J'ai utilisé le terme de "bâtard" parce que
les tableaux PHP peuvent fonctionner *simultanément* comme des tableaux
séquentiels indexés et comme des tableaux associatifs.
In article <467acb5e@neottia.net>,
Olivier Miakinen <om+news@miakinen.net> wrote:
Et pourtant si. Les éléments du tableau associatif se présentent dans un
ordre donné qui, même s'il est arbitraire, ne change pas au hasard. Tu
peux même trier un tableau associatif en conservant l'association entre
les clés et les valeurs (cf. les fonctions asort, arsort, ksort, krsort
et uksort).
un ordre 'donné' oui ok. mais le premier élément entré n'est pas
forcément le premier élément du "tableau".
Tu a essayé ? En PHP, je veux dire ?
In article <467ac792$0$28405$426a34cc@news.free.fr>,
Marc Valette <mvalette4@hotmail.com> wrote:
alors, on va te le retraduire: premier élément de l'énumération mais
c'est vraiment pour martyriser l'arrière train des mouches :-)
bruno précise que ces "tableaux" php ne sont pas de vrais tableaux
indexés. donc dans le cas de php tu as raison. dans le cas de vrais
"hash" ta question n'as pas de sens.
Ce que tu appelles un "hash" est un tableau associatif *basé sur* une
table de hachage. Le "hash" lui-même (qui par ailleurs ne se fume pas)
est le résultat de l'application de la fonction de hachage à l'élément
qui doit servir de clé dans le tableau associatif. Accessoirement, c'est
l'utilisation de cette fonction de hachage qui fait qu'un tableau
associatif basé sur une table de hachage est a priori ordonnée de façon
arbitraire (puisque c'est la fonction de hachage qui détermine la
relation d'ordre) - je dis 'a priori' car certaines tables de hachage
peuvent jouer avec l'ordre en cas de collision (hachage similaire pour
deux clés différentes). Bref, même dans le cas d'une table de hachage,
il peut y avoir une relation d'ordre (même si elle est inexploitable
dans la pratique).
In article <467b7b36$0$11646$, Bruno Desthuilliers wrote:
Les "tableaux" PHP sont un peu bâtards. Ce sont des essentiellement des tableaux associatifs ordonnés capable de s'auto-indexer (avec une clé numérique auto-incrémentée) quand on ajoute un élément sans préciser la clé - bref, on peut les utiliser indifférement comme des tableaux associatifs ou comme des tableaux séquentiels. Dans ce contexte, la notion de "premier élément" a bien un sens.
la je comprends mieux. j'ai donc confondu des vrais "hash" avec les tableaux associatifs bâtards de php.
Tu a confondu une implémentation d'un tableau associatif (la plus courante) avec une autre. J'ai utilisé le terme de "bâtard" parce que les tableaux PHP peuvent fonctionner *simultanément* comme des tableaux séquentiels indexés et comme des tableaux associatifs.
In article , Olivier Miakinen <om+ wrote:
Et pourtant si. Les éléments du tableau associatif se présentent dans un ordre donné qui, même s'il est arbitraire, ne change pas au hasard. Tu peux même trier un tableau associatif en conservant l'association entre les clés et les valeurs (cf. les fonctions asort, arsort, ksort, krsort et uksort).
un ordre 'donné' oui ok. mais le premier élément entré n'est pas forcément le premier élément du "tableau".
Tu a essayé ? En PHP, je veux dire ?
In article <467ac792$0$28405$, Marc Valette wrote:
alors, on va te le retraduire: premier élément de l'énumération mais c'est vraiment pour martyriser l'arrière train des mouches :-)
bruno précise que ces "tableaux" php ne sont pas de vrais tableaux indexés. donc dans le cas de php tu as raison. dans le cas de vrais "hash" ta question n'as pas de sens.
Ce que tu appelles un "hash" est un tableau associatif *basé sur* une table de hachage. Le "hash" lui-même (qui par ailleurs ne se fume pas) est le résultat de l'application de la fonction de hachage à l'élément qui doit servir de clé dans le tableau associatif. Accessoirement, c'est l'utilisation de cette fonction de hachage qui fait qu'un tableau associatif basé sur une table de hachage est a priori ordonnée de façon arbitraire (puisque c'est la fonction de hachage qui détermine la relation d'ordre) - je dis 'a priori' car certaines tables de hachage peuvent jouer avec l'ordre en cas de collision (hachage similaire pour deux clés différentes). Bref, même dans le cas d'une table de hachage, il peut y avoir une relation d'ordre (même si elle est inexploitable dans la pratique).
Bruno Desthuilliers
je veux le premier élément de l'énumération et je ne demande rien d'autre, point barre
$tableau[0] et on n'en parle plus ?
Bin si. $tableau[0] retourne non pas "le premier" élément du tableau, mais l'élément dont la clé est "0".
je veux le premier élément de l'énumération et je ne demande rien
d'autre, point barre
$tableau[0] et on n'en parle plus ?
Bin si. $tableau[0] retourne non pas "le premier" élément du tableau,
mais l'élément dont la clé est "0".