我有一个具有以下值的变量:1,2,11,17,2
我需要将其转换为:SER1, SER2, SER11, SER17, SER2
换句话说,我需要在每个数字的左侧填充单词SER
如何使用PHP实现这一点?
您可以使用正则表达式将每个数字替换为附加到数字前面的 SER:preg_replace('/('d+)/', 'SER$1', '1,2,11,17,2');
您可以使用
array_map循环访问数组并在字符串前面添加前缀。
例:
$array = array(1,2,11,17,2);
$new_array = array_map(function($value) {
return 'STR' . $value;
}, $array);
var_dump($new_array);
编辑:忽略,我以为你正在使用一个数组。
对第一个"SER"使用连接,然后使用替换函数。
$StringVar="SER".$StringVar
$StringVar=str_replace(" ,",", SER",$StringVar)
在array_walk示例中,您会看到以下代码:
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />'n";
}
echo "Before ...:'n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:'n";
array_walk($fruits, 'test_print');
?>
上面的示例将输出:
Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple