PHP が str_replace を使用して多次元配列を置き換える方法の詳細な説明

*文
リリース: 2023-03-19 06:18:01
オリジナル
2219 人が閲覧しました

PHP で str_replace を使用して多次元配列を置き換える方法は?この記事では、str_replaceを使って多次元配列を置換するPHPの実装方法を中心に紹介し、具体的な例を組み合わせて、PHPの多次元配列の走査・置換操作に関する実装スキルや注意点を比較・分析します。困っている友達が参考になれば幸いです。

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

PHP では、str_replace を使用して配列内の文字列を置換する場合、それが多次元配列の場合は 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関数学習の簡単なまとめ_PHPチュートリアル

PHP再帰関数呼び出しの説明

php文字列関数

以上がPHP が str_replace を使用して多次元配列を置き換える方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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