Recuperer certaine données dans ma valeur.

Poinball9
Invité n'ayant pas de compte PHPfrance

21 janv. 2010, 16:10

Bonjour ,

j'ai des données dans un de mes champs d'une de mes tables qui est comme ceci : 32 34 56

Je voudrais savoir s'il existe une façon dextraire juste le 34 ou le 56 ou le 32 ...
Genre de Prendre les 2 premieres données du champs .. ou la 4iemme et la 5iemme donnés seulement..

Merci pour votre temps !

ViPHP
AB
ViPHP | 5818 Messages

21 janv. 2010, 17:29

Oui, trivialement tu peux faire un explode sur un espace sur ta chaine et tu récupères les différentes données dans un tableau
$chaine = '12 65 89 74';

$tab = explode(' ',$chaine);

echo '<pre>';
print_r($tab);
echo '</pre>';

poinball9
Invité n'ayant pas de compte PHPfrance

21 janv. 2010, 17:37

Parfait :) , mais peux tu me donné exemple le code si tu veux sortire le nombre 65 de ton $chaine

Juste pour que je sois certain de la façon que sa fonctionne.

Merci encore.

Mammouth du PHP | 568 Messages

21 janv. 2010, 17:39

Parfait :) , mais peux tu me donné exemple le code si tu veux sortire le nombre 65 de ton $chaine

Juste pour que je sois certain de la façon que sa fonctionne.

Merci encore.
echo $tab[1];

ViPHP
ViPHP | 2291 Messages

21 janv. 2010, 18:01

Une variante
<?php
$chaine = '12 65 89 74';
$Recherche = '65'; //Valeur rechercher

$tab = explode(' ',$chaine);
$Key = array_search($Recherche, $tab);

$Resultat = ($Key == FALSE) ? 'Valeur inconnue !' : $tab[$Key];

echo $Resultat;

?>
Modifié en dernier par dunbar le 21 janv. 2010, 18:06, modifié 2 fois.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Poinball9
Invité n'ayant pas de compte PHPfrance

21 janv. 2010, 18:03

Je me suis trouver un exemple sur le net..

Je vais le mettre ici au cas ou quelqu'un rencontrerais le meme probleme.
<?php
// Exemple 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Exemple 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>


ViPHP
AB
ViPHP | 5818 Messages

21 janv. 2010, 18:45

Je me suis trouver un exemple sur le net..

Je vais le mettre ici au cas ou quelqu'un rencontrerais le meme probleme.
<?php
// Exemple 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Exemple 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Et dans tous les cas il est préférable de tester l'existence d'une variable avant de l'afficher car il n'est pas certain que les éléments du tableau vont exister
echo isset($pieces[0])? $pieces[0] : null; 
//...
echo isset($user)?  $user : null; 
On peut faire comme ci-dessus ou utiliser la méthode indiquée par dunbar pour vérifier les variables.