2

このようなphpの配列があるとします

$info['name'] = 'test %value%';
$info['city'] = 'city test %value%';
$info['other'] = '%value% city test';

私がやりたいことは、この配列をループして、%value% のすべてのインスタンスを指定された文字列に置き換えて、同じ配列に保存することだけです。

それを行う最善の方法は何ですか?:)

ありがとう

4

2 に答える 2

14
foreach ($info as $key => $value)
  $info[$key] = str_replace('%value%', 'MyValue', $value);

デモ: http://ideone.com/65F3L

于 2012-04-18T02:54:16.727 に答える
3

これは私にとって最もクリーンな方法のようですが、PHP 5.3 以降が必要です。

$info = array_map(function($x) use ($newValue){ 
    return str_replace('%value%', $newValue, $x);
}, $info);

コードパッド

于 2012-04-18T03:03:47.610 に答える