2015-06-09 65 views
0

我期待从我的变量($类型)中替换多个值的解决方案替换变量中的多个值

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

我认为使用STR替代将是一个很好的解决方案,但我看到的事情是建立一个大的唯一方法“如果...”(34次?),但似乎不是最好的办法..

在此先感谢您的帮助。

此致敬礼。

+0

它真的更好地理解,如果你已经发布的代码以及预期的输出 –

回答

2

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

存储变量通过以下方式

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

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

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

,你会得到(如果使用的print_r)

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

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

echo $type['value1'] 

将回声出

Cheese 
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);