2010-04-06 6 views
0

Le codage seperates ci-dessous les données d'état $, je besoin d'aide pour mettre l'info var_dump dans DAT2 de DAT1 de $ et $ DAT3 $ si nécessairevar_dump aide nécessaire

if($en['country'] == 'US'){ 
    if ($_POST['locus'] == ''){$err .= 'Please select and fillin your locale.<br>';} 
    $state = $_POST['locus']; // separate: NEW YORK, NY 10011 
    preg_match("/(.*)\,\s+([A-Z]{2})\s+([\d]+)/", $state, $parts); 
    var_dump($parts); 

} elseif($en['country'] == 'CA'){ 
    if ($_POST['locca'] == ''){$err .= 'Please select and fillin your locale.<br>';} 
    $state = $_POST['locca']; // separate: PARADISE, NL A1L1P1 
    preg_match("/(.*)\,\s+([A-Z]{2})\s+([\S]+)/", $state, $parts); 
    var_dump($parts); 

} elseif($en['country'] == 'GB'){ 
    if ($_POST['locuk'] == ''){$err .= 'Please select and fillin your locale.<br>';} 
    $state = $_POST['locuk']; // separate: LONDON, H9 
    preg_match("/(.*)\,\s+([\S]{2})/", $state, $parts); 
    var_dump($parts); 
} 
+0

pocketfullofcheese est correct; var_dump est plus un outil de débogage. – JYelton

Répondre

2

$ parties [0] auront toute la chaîne qui est assortie parties $ [1], $ parties [2], et des parties $ [3], les données que vous souhaitez:

$dat1 = $parts[1]; 
$dat2 = $parts[2]; 
$dat3 = $parts[3]; 
+0

et je peux supprimer var_dump correct? – acctman

+0

Si vous avez besoin d'afficher ces variables, vous pouvez simplement les répercuter sur l'écran: echo $ dat1; echo $ dat2 ;, etc. Vous pouvez ajouter du code HTML supplémentaire si cela se passe sur une page ou un echo d'annonce "\ n"; pour obtenir une nouvelle ligne. – pocketfullofcheese

1

Vous pouvez faire

ob_start(); 
var_dump($parts); 
$dat1 = ob_get_flush(); 
1

Pour quoi faire? var_dump n'est pas à utiliser de cette façon. C'est une fonction purement de débogage et c'est pourquoi elle n'a pas de sortie dans une variable. Vous devriez utiliser d'autres fonctions.

Utilisez les variables:

$part[0] ... the whole expression of the reg. exp. is stored in this variable 
$part[1] ... content of the first subexpression 
$part[2] ... ... 
$part[3] 

Vous devriez aussi éviter la redondance dans votre code. La variable $ err peut être définie avant la première condition.

+0

comment pourrais-je réparer la redondance avec $ err? – acctman

+0

Il suffit de mettre la ligne: $ err. = 'Veuillez sélectionner et remplir vos paramètres régionaux.
'; avant la première instruction "if" et de supprimer le reste othe assignant au $ err –