替换变量中的多个值

时间:2015-06-09 11:26:11

标签: php replace str-replace

我期待一个解决方案来替换我的一个变量($ type)

中的多个值

此变量可以有34个值(字符串)。 我想找到一种方法来创建一个包含替换我的$ type的新字符串的新变量($ newtype)。

我认为使用str替换会是一个很好的解决方案,但我看到事情的唯一方法是创建一个大的“If ...”(34次?)但似乎不是最好的方式..

先谢谢你的帮助。

祝你好运。

2 个答案:

答案 0 :(得分:2)

我建议不要在变量中的多个值上存储字符串,因为它会变得混乱!

以下列方式将变量存储在数组中

$type['value1'] = 'cheese';
$type['value2'] = 'ham';

然后,如果你需要改变它,你可以做到

$type['value2'] = 'chicken';

你会得到(如果使用print_r)

Array
(
    [value1] => cheese
    [value2] => chicken
}

这意味着您的所有值将整齐地存储在相关密钥旁边,并且可以作为单个请求的一部分轻松访问

echo $type['value1']

将回应

Cheese

答案 1 :(得分:0)

您可以将preg_replace与数组一起使用:

$from[0]='from1';
$from[1]='from2';
$from[2]='from3';
$to[0]='to1';
$to[1]='to2'; 
$to[2]='to3';

$newtype=preg_replace($from, $to, $type);

我从未像现在这样使用它,但文档说您需要使用ksort来正确匹配替换的顺序:

$from[0]='from1';
$from[1]='from2';
$from[2]='from3';
$to[0]='to1';
$to[1]='to2'; 
$to[2]='to3';

ksort($to);
ksort($from);

$newtype=preg_replace($from, $to, $type);