comment differencier tableau et tableau associatif
7 réponses
Marc
bonjour.
Je souhaiter creer une classe permettant d'afficher une liste de
selection. Cette liste est alimentée par des tableaux associatifs ou pas
. Voici un exemple :
dans ce contexte, j'ai 2 formes de listes a generer :
<option value='$key'>$value</option>
ou
<option value='$value'>$value</option>
* array_keys() renvoie toujours une valeur. quelque soit la forme de la
liste passée en argument,
* donc il faudrait verifier si array_keys[0] est un entier ou une
chaine, mais ca me plais moyen.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yttrium
"Marc" <mquinton| a écrit dans le message de news: 42b2a3b8$0$9152$
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
Bonjour,
Cela me semble pourtant la meilleure solution, qu'est ce qui vous déplait ?
Salutations.
-- Yttrium Jetez un oeil à http://www.danstesyeux.com
"Marc" <mquinton|-no-spam-please@gmail.com> a écrit dans le message de news:
42b2a3b8$0$9152$636a15ce@news.free.fr...
* array_keys() renvoie toujours une valeur. quelque soit la forme de la
liste passée en argument,
* donc il faudrait verifier si array_keys[0] est un entier ou une
chaine, mais ca me plais moyen.
Bonjour,
Cela me semble pourtant la meilleure solution, qu'est ce qui vous déplait ?
Salutations.
--
Yttrium
Jetez un oeil à http://www.danstesyeux.com
"Marc" <mquinton| a écrit dans le message de news: 42b2a3b8$0$9152$
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
Bonjour,
Cela me semble pourtant la meilleure solution, qu'est ce qui vous déplait ?
Salutations.
-- Yttrium Jetez un oeil à http://www.danstesyeux.com
ftc
[SNIP]
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
J'utilise ceci que j'avais trouvé dans les commentaires de la doc PHP:
function is_assoc($var) { return is_array($var) && array_keys($var)!==range(0,sizeof($var)-1); }
[SNIP]
* array_keys() renvoie toujours une valeur. quelque soit la forme de la
liste passée en argument,
* donc il faudrait verifier si array_keys[0] est un entier ou une
chaine, mais ca me plais moyen.
J'utilise ceci que j'avais trouvé dans les commentaires de la doc PHP:
function is_assoc($var) {
return is_array($var) && array_keys($var)!==range(0,sizeof($var)-1);
}
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
J'utilise ceci que j'avais trouvé dans les commentaires de la doc PHP:
function is_assoc($var) { return is_array($var) && array_keys($var)!==range(0,sizeof($var)-1); }
bruno modulix
Marc wrote:
bonjour.
Je souhaiter creer une classe permettant d'afficher une liste de selection. Cette liste est alimentée par des tableaux associatifs ou pas . Voici un exemple :
(snip)
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
z'avez pas une idée lumineuse ?
Le problème est qu'en réalité, les "listes" PHP *sont* des tableaux associatifs:
Amusant, non ? <hs mode="groumf"> Au passage, essaie aussi ça: $ar = Array("1" => 1, "2" => 2, "toto" => 3); var_dump($ar); </hs>
Bref, AMHA, il faut une autre approche: - soit 2 variantes de la classe ItemSelect (une qui utilise les clés, l'autre pas) - soit un paramètre supplémentaire qui précise s'il faut utiliser les clés ou pas...
Mes deux centimes...
-- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Marc wrote:
bonjour.
Je souhaiter creer une classe permettant d'afficher une liste de
selection. Cette liste est alimentée par des tableaux associatifs ou pas
. Voici un exemple :
(snip)
* array_keys() renvoie toujours une valeur. quelque soit la forme de la
liste passée en argument,
* donc il faudrait verifier si array_keys[0] est un entier ou une
chaine, mais ca me plais moyen.
z'avez pas une idée lumineuse ?
Le problème est qu'en réalité, les "listes" PHP *sont* des tableaux
associatifs:
Amusant, non ?
<hs mode="groumf">
Au passage, essaie aussi ça:
$ar = Array("1" => 1, "2" => 2, "toto" => 3);
var_dump($ar);
</hs>
Bref, AMHA, il faut une autre approche:
- soit 2 variantes de la classe ItemSelect (une qui utilise les clés,
l'autre pas)
- soit un paramètre supplémentaire qui précise s'il faut utiliser les
clés ou pas...
Mes deux centimes...
--
bruno desthuilliers
ruby -e "print 'onurb@xiludom.gro'.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Je souhaiter creer une classe permettant d'afficher une liste de selection. Cette liste est alimentée par des tableaux associatifs ou pas . Voici un exemple :
(snip)
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
z'avez pas une idée lumineuse ?
Le problème est qu'en réalité, les "listes" PHP *sont* des tableaux associatifs:
Amusant, non ? <hs mode="groumf"> Au passage, essaie aussi ça: $ar = Array("1" => 1, "2" => 2, "toto" => 3); var_dump($ar); </hs>
Bref, AMHA, il faut une autre approche: - soit 2 variantes de la classe ItemSelect (une qui utilise les clés, l'autre pas) - soit un paramètre supplémentaire qui précise s'il faut utiliser les clés ou pas...
Mes deux centimes...
-- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
bruno modulix
Yttrium wrote:
"Marc" <mquinton| a écrit dans le message de news: 42b2a3b8$0$9152$
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
Cela me semble pourtant la meilleure solution, qu'est ce qui vous déplait ?
HTH -- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
Yttrium wrote:
"Marc" <mquinton|-no-spam-please@gmail.com> a écrit dans le message de news:
42b2a3b8$0$9152$636a15ce@news.free.fr...
* array_keys() renvoie toujours une valeur. quelque soit la forme de la
liste passée en argument,
* donc il faudrait verifier si array_keys[0] est un entier ou une
chaine, mais ca me plais moyen.
Cela me semble pourtant la meilleure solution, qu'est ce qui vous déplait ?
"Marc" <mquinton| a écrit dans le message de news: 42b2a3b8$0$9152$
* array_keys() renvoie toujours une valeur. quelque soit la forme de la liste passée en argument, * donc il faudrait verifier si array_keys[0] est un entier ou une chaine, mais ca me plais moyen.
Cela me semble pourtant la meilleure solution, qu'est ce qui vous déplait ?