fonction array

Petit nouveau ! | 8 Messages

19 juil. 2006, 23:49

Bonjour,

J'ai une petite question sur la fonction : array

Tout d'abord j'ai compris le rôle de la fonction array, création d'une variable sous forme de tableau

$data=array($donnee1,$donnee2,$donnee3,$donnee4);
ou
$data=array('pomme','poire','cerise','fraise);

MON PROBLEME :

En ce qui me concerne ma variable est $donnee[$i]
une donnée fonction de l'incrementation de $i

Ne sachant jamais à l'avance quels seront les valeurs de $i
($i varie de 0 à ?)

Comment dois-je proceder pour mettre sous forme de tableau en utilisant array les données : $donnee[$i] dans la variable $data

autrement dit un truc du genre :

$data=array($donnee);


Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 juil. 2006, 00:21

Salut,

Tu as deux façons de faire:

1.
$data=array();
boucle()
{
   $data[] = $donnee[$i]
}
Avec des [] apres la variable tableau, ce qui a pour effet d'ajouter une valeur au tableau existant dans se soucier de l'indice du tableau.

2. array_push() voir la Doc... mais a le même effet que précédemment.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 413 Messages

21 juil. 2006, 16:44

pour parcourir un tableau et récupérer les valeurs une à une :
foreach ($donnee as $valeur) {
  ...
}
--
Goeb

Eléphant du PHP | 353 Messages

21 juil. 2006, 18:43

L'idée de Goeb est la plus appropriée mais j'ajouterais ceci =>
$array = array(1=>'coucou',a=>'c\'est moi');
//Boucle foreach pour récupérer les valeurs d'un array une à une
foreach ($array as $key=>$value)
         {
         echo "Dans le tableau , la clé '<b>".$key."</b>' a pour valeur : <b>".stripslashes($value)."</b></br>" ; 
         }
/*tu va donc recupérer dans le cas présent

Dans le tableau , la clé '1' a pour valeur : coucou
Dans le tableau , la clé 'a' a pour valeur : c'est moi
*/
Tu peux donc récupérer la valeur ainsi que la clé.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 juil. 2006, 02:51

Il ne voulait pas lire le contenu du tableau mais le construire :-k

Il pourra donc se servir de vos solutions après l'avoir construit.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

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

22 juil. 2006, 11:03

Bon ben puisqu'on peut répondre à des questions qui ne sont pas posés...

Pour 20 cookies, il faut :

130 g sucre
100 g beurre fondu
1 sachet de sucre vanillé
150 g de farine
100 g de pépites de chocolat
1 CS de lait

Recette :
Mélangez tous les ingrédients.
En vous aidant avec une cuillère à café, déposez des boules de ce mélange, espacées d'1 cm environ, sur une plaque recouverte de papier sulfurisé.

Mettre au four 10 minutes.

comme ça si jamais il voulait faire des cookies il pourra se servir de la rectte après avoir fini de jouer avec ses tableaux ;)

Petit nouveau ! | 8 Messages

25 juil. 2006, 00:29

RE-Bonjour,

J'ai utilisé ce que l'on m'a conseillé :

Code : Tout sélectionner

$data=array(); boucle() { $data[] = $donnee[$i] }
Mes données s'ajoute bien à $data seulement les données commence à s'ajouter à 1. Autrement dit :

Si j'ai :

Code : Tout sélectionner

<?php $d[1]="banane"; $d[2]="orange"; $d[3]="pomme"; $data=array(); for ($f=1;$f<4;$f++) { $data[] = $d[$f]; } echo"$data[0] - $data[1] - $data[2]"; ?>

Là ! il ne m'affiche pas de valeur pour $data[0] ??

-------------------------------------------------------------------------------------
Par consequent :
Dans le code que j'utilse pour créér un Graph (cf ci-dessous)
j'ai l'erreur : JpGraph Error: You have not specified a y[0] value!!

Code : Tout sélectionner

<?php include ("jpgraph.php"); include ("jpgraph_line.php"); $k=0; $data12=array(); $data34=array(); $data5=array(); $data6=array(); $fp = fopen("HistBilan.csv", "r"); // le fichier existe, on l'ouvre while (!feof($fp)) { // On parcours le fichier $ligne = fgets($fp,4096); // On se déplace d'une ligne $liste = explode(";",$ligne); // Champs séparés par |, on en fait un tableau $Date = $liste[0]; // valeur non utilisée $data12[] = $liste[1]; $data34[] = $liste[2]; $data5[] = $liste[3]; $data6[] = $liste[4]; } fclose($fp); // Fermeture du fichier // ############ Mise en place du graphe ###################################" // Creation du graphique $graph = new Graph(176,82); $graph->SetScale("textlin"); $graph->xgrid->Show(); $graph->xgrid->SetColor('#CCCCCC'); $graph->ygrid->SetColor('#CCCCCC'); // Création du système de points $lineplot1=new LinePlot($data12); $lineplot1->SetColor("red"); $lineplot1->SetWeight(1); $lineplot1->SetLegend("S12"); $lineplot2=new LinePlot($data34); $lineplot2->SetColor("green"); $lineplot2->SetWeight(1); $lineplot2->SetLegend("S34"); $lineplot3=new LinePlot($data5); $lineplot3->SetColor("yellow"); $lineplot3->SetWeight(1); $lineplot3->SetLegend("S34"); $lineplot4=new LinePlot($data6); $lineplot4->SetColor("blue"); $lineplot4->SetWeight(1); $lineplot4->SetLegend("S34"); // On rajoute les points au graphique $graph->Add($lineplot1); $graph->Add($lineplot2); $graph->Add($lineplot3); $graph->Add($lineplot4); // Affichage $graph->Stroke(); ?>
Si quelqu'un à la solution directement sur mon code

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 juil. 2006, 00:39

Le 1er code devrait logiquement retourner 3 valeurs avec un $data[0] = banane... :-k

Montre nous le contenu des tableaux avec ce bout de code:
echo '<pre>';
print_r($data12); // de même pour les autres
echo '</pre>';
PS: garde la recette des cookies sous la main on ne sait jamais :langue:
Modifié en dernier par Truc le 25 juil. 2006, 00:40, modifié 1 fois.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 197 Messages

25 juil. 2006, 00:39

Code : Tout sélectionner

for ($f=1;$f<4;$f++) { $data[] = $d[$f]; }
si tu veux commencer ton $data à 0 :
$i=0;
foreach($d as $key => $value) {
$data[$i]=$value;
$i++;
}

Petit nouveau ! | 8 Messages

25 juil. 2006, 15:32

A la demande de Truc, j'ai inseré le code pour afficher les valeurs de $data12, dans mon code final

j'obtiens

Array
(
[0] =>
[1] => 53
[2] => 58
[3] => 62
[4] => 62
[5] => 58
[6] => 64
[7] => 63
)

JpGraph Error: You have not specified a y[0] value!!

Si il est vide c'est peut-être que les données de la 1ère ligne du fichier csv sont vides

BINGO !!!!! :lol: c'était ça !

Bon, b'en mon problème est résolu

Je vous remercie pour l'info :
$data=array();
$data[]=$donnees;

Qui a permis de faire avancer mon code.

Et puis surtout merci pour la recette des cookies :langue: