2014-11-20 9 views
0

У меня есть переменная вроде этого.Обработка переменной PHP и манипуляция переменной PHP

$my_value = "AU0001AU0012AU0113"; 

Вышеуказанное значение необходимо изменить следующим образом (ожидаемый результат).

$my_value = "'AU0001','AU0012','AU0113'"; 

Как это сделать.

Причина, по которой я хочу изменить, - большой магазин. Это что-то вроде обработки строк/манипуляции.

Я думаю, это может быть легко адресовано SO-Expert.

Благодаря, Kimz

+0

только один вопрос: как вы заполняете '$ my_value' var? потому что в вашем примере они представляют собой 3 разных значения, соединенных в строку –

ответ

2

Попробуйте это один:

$string = 'AU0001AU0012AU0113'; 
preg_match_all('/(AU(\d+))/', $string, $matches); 
echo "'" . implode("','", $matches[0]) . "'"; 

Работы для различных форматов до тех пор, как они начинают с АС следуют цифры!

+0

отлично. работает отлично. благодаря тонну. пожалуйста, воздержитесь от моего вопроса. кто-то отметил это отрицательно. – user3350885

2
$my_value = "AU0001AU0012AU0113"; 
$arr2 = str_split($my_value, 6); 

разбивает строку в массив, где каждый indexx является 6 символов.

+0

. Да, это хорошо, поскольку всегда есть много символов, после которых они хотят разделить. –

+0

я получу полный код. ( – user3350885

+0

Вам не нужно доверять своей памяти. Просто запустите код и узнайте :) –

0

Это будет полный код для вас. Взгляните на него и прокомментируйте в случае возникновения каких-либо вопросов.

<?php 

$my_value = "AU0001AU0012AU0113"; 
$arr = str_split($my_value, 6); 
$new_value = ""; 
$cn = count($arr); 
$i = 0; 
foreach ($arr as $val) { 
    $i++; 
    if ($i == $cn) { 
     $new_value .= "'".$val."'"; 
    } 
    else { 
     $new_value .= "'".$val."', "; 
    } 
} 
echo $new_value; 

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