ホームページ > バックエンド開発 > PHPチュートリアル > PHPでstr_replaceを使って多次元配列を置換する実装方法を詳しく解説

PHPでstr_replaceを使って多次元配列を置換する実装方法を詳しく解説

怪我咯
リリース: 2023-03-12 17:56:01
オリジナル
1566 人が閲覧しました

この記事では主に、

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)
ログイン後にコピー

文字だけであることがわかりました。

一次元配列内の文字列とそれ以上の次元の配列は置換されません。

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

$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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート