$variable avec plusieurs Valeurs?

ViPHP
ViPHP | 2291 Messages

31 août 2006, 15:20

Bonjour,

Je voudrais savoir si ceci est valable :?:
$commentaire = mysql_real_escape_string ($_POST['com'][1][2][3]);
Ou si je suis obliger de faire ceci :?:
$commentaire = mysql_real_escape_string ($_POST['com'][1]);
$commentaire = mysql_real_escape_string ($_POST['com'][2]);
$commentaire = mysql_real_escape_string ($_POST['com'][3]);
D'avance merci
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

31 août 2006, 15:54

$_POST['com'][1][2][3]
Ceci représente une cellule de tableau à 3 dimensions, et pas la cellule 1, puis 2, puis 3

Donc si tu veux appliquer la fonction à chaque cellule de ton tableau, tu dois effectivement le faire une par une (via une boucle a priori)

Ou alors utiliser une fonction comme array_map() , qui appliquera ta fonction à chaque élément du tableau

ViPHP
ViPHP | 2291 Messages

31 août 2006, 16:00

$_POST['com'][1][2][3]
Ceci représente une cellule de tableau à 3 dimensions, et pas la cellule 1, puis 2, puis 3

Donc si tu veux appliquer la fonction à chaque cellule de ton tableau, tu dois effectivement le faire une par une (via une boucle a priori)

Ou alors utiliser une fonction comme array_map() , qui appliquera ta fonction à chaque élément du tableau
Ok et merci :wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 2291 Messages

31 août 2006, 17:21

Salut,

Donc avec le fonction "array_map()
Cela donnerais (si j'ai compris :idea: ) ceci :?:
$commentaire = array_map ('mysql_real_escape_string', $_POST['com'],1,2,3,4,5,6);
J'ai compris :?: :?:

Merci :wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 2291 Messages

01 sept. 2006, 11:15

Salut,

Donc avec le fonction "array_map()
Cela donnerais (si j'ai compris :idea: ) ceci :?:
$commentaire = array_map ('mysql_real_escape_string', $_POST['com'],1,2,3,4,5,6);
J'ai compris :?: :?:

Merci :wink:
La syntax et la méthode sont t'elle correct :?:

Merci :?:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

01 sept. 2006, 11:21

Je comprends jamais les gens qui posent ici ce genre de question : niveau syntaxe, on teste d'abord et on voit si c'est bon. Et si c'est pas bon, là tu viens demander de l'aide si besoin.
PHP sera toujours mieux placé que n'importe qui pour te dire si ton code fonctionne ou non. :roll:

Par contre je crois que t'as pas compris le principe des tableaux :
C'est censé représenter quoi ça ? :shock:
$_POST['com'],1,2,3,4,5,6
Rappel :
$tableau = Array('cellule 0', 'cellule 1'); 
$tableau; // ceci représente le tableau en entier
$tableau[0]; // ceci représente une cellule (la première)
$tableau[1]; // // ceci représente une cellule (la deuxième)
Regarde dans la doc le type du deuxième paramètre et l'exemple qui est donné

ViPHP
ViPHP | 2291 Messages

01 sept. 2006, 12:12

Je comprends jamais les gens qui posent ici ce genre de question : niveau syntaxe, on teste d'abord et on voit si c'est bon. Et si c'est pas bon, là tu viens demander de l'aide si besoin.
PHP sera toujours mieux placé que n'importe qui pour te dire si ton code fonctionne ou non. :roll:

Par contre je crois que t'as pas compris le principe des tableaux :
C'est censé représenter quoi ça ? :shock:
$_POST['com'],1,2,3,4,5,6
Rappel :



$tableau = Array('cellule 0', 'cellule 1'); 
$tableau; // ceci représente le tableau en entier
$tableau[0]; // ceci représente une cellule (la première)
$tableau[1]; // // ceci représente une cellule (la deuxième)
Regarde dans la doc le type du deuxième paramètre et l'exemple qui est donné
La question était plus de savoir si je partais dans le bonne direction :wink:
Ceci suite à ton lien je travail dans cete direction et évidament j'ai une erreur.
function commentaire($a, $b) {
   return array($a => $b);
  }

  $a = array(1, 2, 3, 4, 5, 6);
  $b = array_map($_POST['com']);
  $c = array_map($a, $b);
  print_r($c);
Et la déclaration de la variable
$commentaire = mysql_real_escape_string ($c);
:wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

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

01 sept. 2006, 12:19

Tu as l'air de beaucoup tenir à ton array_map(), mais as-tu regardé la doc pour savoir à quoi il servait et comment l'utiliser ?

Il attend un nom de fonction et un tableau en paramètre, ce qui n'a pas grand chose à voir avec ce que tu lui passes :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

01 sept. 2006, 13:08

Je suis d'accord avec Ryle, regarde mieux le principe d'array_map()

Tu avais un tableau $_POST contenant des commentaires. Tu voulais appliquer à chacun de ces commentaires (chaque cellule en fait) la fonction mysql_real_escape_string().

array_map() appliquera cette fonction donc à chaque cellule du tableau. Tu n'as pas besoin d'utiliser une fonction en plus ni des variables $a, $b, ou $truc.

ViPHP
ViPHP | 2291 Messages

01 sept. 2006, 15:15

Je suis d'accord avec Ryle, regarde mieux le principe d'array_map()

Tu avais un tableau $_POST contenant des commentaires. Tu voulais appliquer à chacun de ces commentaires (chaque cellule en fait) la fonction mysql_real_escape_string().

array_map() appliquera cette fonction donc à chaque cellule du tableau. Tu n'as pas besoin d'utiliser une fonction en plus ni des variables $a, $b, ou $truc.
Oui j'étudie,
alors le résultat j'arrive à ceci.
$commentaire = array_map( 'mysql_real_escape_string', $_POST['com']);
Mon soucis es tdans dans ma table il m'indique Array et non pas le commentaire :?: et pourquoi qu'il me pourrie la vie :wink: non blague à part quelle est mon erreur :?: (enfin pas le code hein :wink: plutôt une direction :roll: )

Parce ce que non somme bien d'accord ? Ma variable $commentaire = array_map ----- les $_POST['com'] j'ai quand même bien compris le principe non :?: :?:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

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

01 sept. 2006, 15:27

Au delà de ce que fait une fonction et des paramètres nécessaire à son exécution, la dernière chose importante à savoir, c'est ce qu'elle retourne :)

Donc retour sur la doc de array_map() et re-lecture de la description de cette fonction ;)

De manière générale, lorsque tu affiches une variable et qu'au lieu du résultat attendu du vois apparaitre "Array", cela signifie généralement que ta variable est un tableau, alors que ce qui t'interesse est très probablement juste ses cellules.
print_r() et var_dump() te permettent de voir facilement ce que contient un tableau (valeurs et index) :)

ViPHP
ViPHP | 2291 Messages

01 sept. 2006, 15:33

Au delà de ce que fait une fonction et des paramètres nécessaire à son exécution, la dernière chose importante à savoir, c'est ce qu'elle retourne :)

Donc retour sur la doc de array_map() et re-lecture de la description de cette fonction ;)

De manière générale, lorsque tu affiches une variable et qu'au lieu du résultat attendu du vois apparaitre "Array", cela signifie généralement que ta variable est un tableau, alors que ce qui t'interesse est très probablement juste ses cellules.
print_r() et var_dump() te permettent de voir facilement ce que contient un tableau (valeurs et index) :)
:gla: Ok j'y retourne :arrow:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 2291 Messages

01 sept. 2006, 16:25

Au delà de ce que fait une fonction et des paramètres nécessaire à son exécution, la dernière chose importante à savoir, c'est ce qu'elle retourne :)

Donc retour sur la doc de array_map() et re-lecture de la description de cette fonction ;)

De manière générale, lorsque tu affiches une variable et qu'au lieu du résultat attendu du vois apparaitre "Array", cela signifie généralement que ta variable est un tableau, alors que ce qui t'interesse est très probablement juste ses cellules.
print_r() et var_dump() te permettent de voir facilement ce que contient un tableau (valeurs et index) :)
:gla: Ok j'y retourne :arrow:
Je bloque tu n'aurais pas envie de me donner un pt truc en plus :?:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

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

01 sept. 2006, 16:45

Si tu ne vas pas jusqu'à la doc, la doc ira-t-à-toi :!:
array_map() retourne un tableau...
Une fois cet étrange message décrypté par les différents algorythmes du service de recherche de vie extraterrestre de la nasa, il semblerait que la fonction array_map() retourne un tableau :)

Donc, le résultat de array_map( 'mysql_real_escape_string', $_POST['com']) est un tableau, et il y a ainsi de grandes chances pour que $commentaire dans lequel tu stockes ce tableau, soit également un ... tableau ! ;)
... un tableau contenant tous les éléments du tableau arr1 (NdPiou: arr1 est le tableau passé en paramètre),
après leur avoir appliqué la fonction callback (NdP: dont le nom est passé en paramètre également)
La fonction print_r() te permet de voir ce que contient ce tableau. Il est ainsi plus facile de trouver le ou les bons index pour faire appel à le ou les éléments désirés du tableau :)

ViPHP
ViPHP | 2291 Messages

01 sept. 2006, 21:38

Si tu ne vas pas jusqu'à la doc, la doc ira-t-à-toi :!:
array_map() retourne un tableau...
Une fois cet étrange message décrypté par les différents algorythmes du service de recherche de vie extraterrestre de la nasa, il semblerait que la fonction array_map() retourne un tableau :)

Donc, le résultat de array_map( 'mysql_real_escape_string', $_POST['com']) est un tableau, et il y a ainsi de grandes chances pour que $commentaire dans lequel tu stockes ce tableau, soit également un ... tableau ! ;)
... un tableau contenant tous les éléments du tableau arr1 (NdPiou: arr1 est le tableau passé en paramètre),
après leur avoir appliqué la fonction callback (NdP: dont le nom est passé en paramètre également)
La fonction print_r() te permet de voir ce que contient ce tableau. Il est ainsi plus facile de trouver le ou les bons index pour faire appel à le ou les éléments désirés du tableau :)
Si j'ai été à la doc rassure toi mais je comprend pas sorry :oops:
Mais bon je vais me débrouiller. :wink:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.