2

PHPを使用して、str_replaceを連続して何度も実行し、次のように1つのものを別のものに切り替えています。

$a = str_replace("cake", "c_", $a);
$a = str_replace("backup", "bk_", $a);
$a = str_replace("tax_documents", "tax_", $a);

30行の場合も同様です。これを行う最も効率的な方法は何ですか?

4

5 に答える 5

9

次のように置換ルールを記述できます。

$replacements = array(
             'cake' => 'c_',
           'backup' => 'bk_',
    'tax_documents' => 'tax_'
);

次に、次のようにstr_replaceを使用します。

$toReplace = array_keys($replacements);
$replaceWith = array_values($replacements);
$a = str_replace($toReplace, $replaceWith, $a);
于 2010-11-08T20:01:59.337 に答える
2

このstr_replace関数は、検索と置換の引数に配列を取ります。これを試して。

$finds = array("cake", "backup", "tax_documents");
$reps  = array("c_", "bk_", "tax_");
$a = str_replace($finds, $reps, $a);
于 2010-11-08T20:03:56.667 に答える
1

配列を使用してください!

$a = str_replace(array("cake", "backup", "tax_documents"), array("c_", "bk_", "tax_"), $a);
于 2010-11-08T20:01:18.780 に答える
0

preg_replace()。

于 2010-11-08T20:01:09.900 に答える
0

試す:

$ a = str_replace(array( "tax_documents"、 "backup"、 "cake")、array( "tax_"、 "bk_"、 "c_")、$ a);

于 2010-11-08T20:01:54.033 に答える