2010-04-06 3 views
0

Кодирование ниже отделяет $ данные о состоянии, мне нужна помощь в размещении информацию var_dump в $ DAT1 $ dat2 и $ dat3, где это необходимоvar_dump необходима помощь

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 правильный; var_dump - это больше инструмент отладки. – JYelton

ответ

2

$ части [0] будет иметь всю строку, которая сопоставляется $ части [1], $ частей [2], и $ частей [3] будут иметь данные, которые вы хотите:

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

и я могу удалить var_dump правильно? – acctman

+0

, если вам нужно показать эти переменные, вы можете просто отозвать их на экран: echo $ dat1; echo $ dat2 ;, и т. д. Вы можете добавить любой дополнительный HTML, если это происходит на странице или эхом эда «\ n»; для получения новой строки. – pocketfullofcheese

1

Вы могли бы сделать

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

Зачем? var_dump не предназначен для использования таким образом. Это чисто функция отладки, и именно поэтому она не имеет выхода к переменной. Вы должны использовать другие функции.

Использовать переменные:

$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] 

Вы также должны избегать избыточности кода. Переменная $ err может быть установлена ​​до первого условия.

+0

Как я могу устранить избыточность с помощью $ err? – acctman

+0

Просто поместите строку: $ err. = 'Пожалуйста, выберите и заполните свой язык.
'; перед первым утверждением «если» и удалить остальные, назначая $ err –

Смежные вопросы