C'est juste qu'une question d'array

Eléphant du PHP | 363 Messages

25 janv. 2010, 18:07

Bonjour,

Pouvez-vous m'éclaircir sur ce point :

Comment appelle t-on cette forme de tableau ? Comment le déclare t-on et une fois fait, comment on ajoute des infos ?

id, prénom, taille, poids.
1 - Loïc - 192 - 64
2 - Alain - 175 - 80
3 -

C'est pas un machin chose de multi-dimensions ?

Merci à vous les loulous.

Foetus69
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

ViPHP
ViPHP | 5462 Messages

25 janv. 2010, 18:17

Hello,
oui c'est multidimensionnelle pour le reste je t'invite a lire la doc
http://php.net/manual/fr/language.types.array.php

ViPHP
AB
ViPHP | 5818 Messages

26 janv. 2010, 17:11

Donc concrètement pour créer ton tableau tu peux faire
$donnees = array();

$donnees['Loïc']['taille'] = 192;
$donnees['Loïc']['poids'] = 64;
$donnees['Loïc']['mail'] = '[email protected]';
//etc.
$donnees['Alain']['taille'] = 175;
$donnees['Alain']['poids'] = 80;
$donnees['Alain']['mail'] = '[email protected]';

// visualisation du tableau
echo '<pre>';
print_r($donnees);
echo '</pre>';
Le pb est qu'avec cette méthode tu ne pourras pas mettre dans ton tableau plusieurs personnes ayant le même prénom.
Le premier index devrait donc être un identifiant unique comme par exemple le mail ce qui donnerait
$donnees['[email protected]']['nom'] = 'Alain';
$donnees['[email protected]']['taille'] = 175;
$donnees['[email protected]']['poids'] = 80;
Sinon pour Loîc... 1.92m pour 64 kg, j'espère que tu t'es trompé dans tes données :)

Eléphant du PHP | 363 Messages

26 janv. 2010, 17:30

Loïc Fildefer :lol:

Merci pour l'exemple.

Ca veut dire qu'un tableau ne peut pas contenir plusieurs colonnes si je comprends bien et on a plus affaire à une cascade ou le principe des vases communicants ou encore des poupées gigognes ?
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

ViPHP
ViPHP | 5462 Messages

26 janv. 2010, 17:51

un tableau c'est un arbre, avec autant de branche et de feuille que tu veux et ou tu veux

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 janv. 2010, 23:47

stealth35 à raison, tu peux faire ce que tu veux de ton tableau :)

Dans ton exemple, c'est un tableau à deux dimensions, donc un tableau de tableau... Tu peux en faire un tableau associatif, indexé, ou jouer avec tes données en fonction de ton besoin :
$donnees= array();
$donnees[] = array ('id' => 1, 'prénom' => 'Loïc', 'taille' => 192, 'poids' => 64);
$donnees[] = array ('id' => 2, 'prénom' => 'Alain', 'taille' => 175, 'poids' => 80);

echo $donnees[1]['prénom']; // affiche : Alain

// ou encore

$donnees= array();
$donnees[1] = array ('prénom' => 'Loïc', 'taille' => 192, 'poids' => 64);
$donnees[2] = array ('prénom' => 'Alain', 'taille' => 175, 'poids' => 80);

echo $donnees[1]['taille']; // affiche : 192
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 363 Messages

28 janv. 2010, 22:26

Merci à vous 2 !!! Je crois avoir compris le principe.

Y'a plus qu'à mettre en pratique :ordi:

Bonne soirée :merci:
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

ViPHP
ViPHP | 5462 Messages

28 janv. 2010, 22:54

Merci à vous 2 !!! Je crois avoir compris le principe.

Y'a plus qu'à mettre en pratique :ordi:

Bonne soirée :merci:
test a fond les array c'est l'une des choses les plus puissantes sous PHP :wink:

ViPHP
AB
ViPHP | 5818 Messages

29 janv. 2010, 01:36

Sûr que c'est puissant, amuses toi bien :wink:

En fait tout dépend aussi de ce que tu veux en faire, si tu as des recherches à faire dedans etc.

L'exemple que t'a montré Ryle est une construction de tableau comme des lignes de base de donnée, c'est très souple avec l'avantage des index numériques (très faciles à incrémenter entre autre...)

L'exemple que je t'ai montré est un peu plus contraignant puisqu'il faut trouver un identifiant unique comme premier index. En contre partie c'est beaucoup plus simple et rapide pour faire des recherches ex :
if (array_key_exists('[email protected]',$donnees)) print_r($donnees['[email protected]']);
(Alors que dans le cas précédent il aurait fallu lister le tableau pour retrouver la bonne personne).

La question à se poser est donc "quelle structure de tableau conviendra le mieux pour que je puisse aisément exploiter ses données". Je précise ça car au début on a souvent tendance à faire les mêmes types de tableaux quitte à ramer par la suite pour les exploiter.

Bien entendu, je dis ça sans aucun apriori sur la méthode qui te conviendra le mieux puisque précisément je ne sais pas ce que tu veux faire de ton tableau :)

Eléphant du PHP | 453 Messages

08 févr. 2010, 11:39

Hello,
test a fond les array c'est l'une des choses les plus puissantes sous PHP :wink:
Parfois le array reste coincé au fond de la gorge. :lol:
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia