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