Page 1 sur 1

C'est juste qu'une question d'array

Posté : 25 janv. 2010, 18:07
par foetus69
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

Re: C'est juste qu'une question d'array

Posté : 25 janv. 2010, 18:17
par stealth35
Hello,
oui c'est multidimensionnelle pour le reste je t'invite a lire la doc
http://php.net/manual/fr/language.types.array.php

Re: C'est juste qu'une question d'array

Posté : 26 janv. 2010, 17:11
par AB
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 :)

Re: C'est juste qu'une question d'array

Posté : 26 janv. 2010, 17:30
par foetus69
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 ?

Re: C'est juste qu'une question d'array

Posté : 26 janv. 2010, 17:51
par stealth35
un tableau c'est un arbre, avec autant de branche et de feuille que tu veux et ou tu veux

Re: C'est juste qu'une question d'array

Posté : 26 janv. 2010, 23:47
par Ryle
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

Re: C'est juste qu'une question d'array

Posté : 28 janv. 2010, 22:26
par foetus69
Merci à vous 2 !!! Je crois avoir compris le principe.

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

Bonne soirée :merci:

Re: C'est juste qu'une question d'array

Posté : 28 janv. 2010, 22:54
par stealth35
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:

Re: C'est juste qu'une question d'array

Posté : 29 janv. 2010, 01:36
par AB
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 :)

Re: C'est juste qu'une question d'array

Posté : 08 févr. 2010, 11:39
par niuxe
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: