ホームページ >バックエンド開発 >PHPチュートリアル >PHP での str_replace の使用に関するチュートリアルの例

PHP での str_replace の使用に関するチュートリアルの例

零下一度
零下一度オリジナル
2017-06-17 10:44:381576ブラウズ

この記事では主に、

str_replaceを使用してPHPで多次元配列を置換する実装方法を紹介し、PHPの実装スキルを比較分析するための具体的な例と、多次元配列の走査に関する注意事項を組み合わせます。必要な方は以下を参照してください

この記事では、PHP で str_replace を使用して多次元配列を置換する実装方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

PHP では、str_replace を使用して配列内の

string を置き換える場合、それが多次元の場合は 1 次元の配列のみを置き換えることができます。配列の場合、すべての文字列を置き換えることはできません。そこで、多次元配列の文字列の置換を実現するメソッドを書きました

まず、str_replaceを直接使用して配列の置換をテストしてみましょう


$a = array(
'a' => 'bdc#',
'ceshi' => array('c'=>array('f'=>'#'))
);
$a = str_replace('#', 'ccc', $a);
var_dump($a);

。出力は次のとおりであることがわかりました。

array (size=2)
 'a' => string 'bdcccc' (length=6)
 'ceshi' =>
  array (size=1)
   'c' =>
    array (size=1)
     'f' => string '#' (length=1)

私は

1 つだけが置換されたことがわかりました。次元配列内の文字列
より多くの次元を持つ配列は置換されません。

関数は多次元配列の文字列置換を実装します

$a = array(
'a' => 'bdc#',
'ceshi' => array('c'=>array('f'=>'#'))
);
function strReplace(&$array) {
 $array = str_replace('#', 'ccc', $array);
if (is_array($array)) {
  foreach ($array as $key => $val) {
    if (is_array($val)) {
      strReplace($array[$key]);
    }
  }
}
}
strReplace($a);
var_dump($a);

出力は次のとおりです:


array (size=2)
 'a' => string 'bdcccc' (length=6)
 'ceshi' =>
  array (size=1)
   'c' =>
    array (size=1)
     'f' => string 'ccc' (length=3)

多次元配列の文字列置換が実装されていることがわかります


関数strReplaceが渡されます配列のアドレスを取得し、それを再帰的に実装して文字列を置換します。もちろん、これは非常に単純な方法であり、これと同じように実装する方法はたくさんあります。

以上がPHP での str_replace の使用に関するチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。