Home >Backend Development >PHP Tutorial >Detailed explanation of the implementation method of using str_replace to replace multi-dimensional arrays in PHP

Detailed explanation of the implementation method of using str_replace to replace multi-dimensional arrays in PHP

怪我咯
怪我咯Original
2017-07-05 10:21:051570browse

This article mainly introduces the implementation method of PHP using str_replace to replace multi-dimensional array, and combines specific examples to compare and analyze PHP's traversal of multi-dimensional array and Replacement operation related implementation skills and Notes, friends in need can refer to the following

This article describes the implementation method of using str_replace to replace multi-dimensional arrays in PHP. Share it with everyone for your reference, the details are as follows:

In php, if you use str_replace to replace the string in the array, you can only replace the one-dimensional array. If it is a multi-dimensional array, It is not possible to replace all strings. So I wrote a method to realize the replacement of multi-dimensional array strings.

First, let’s test using str_replace directly to test the replacement of the array.

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

I found that the output is as follows:

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

It was found that only the strings in one-dimensional array were replaced, and arrays with more dimensions were not replaced.

Function to implement string replacement of multi-dimensional arrays

$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);

The output is as follows:

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

It is found that string replacement of multi-dimensional arrays is implemented

The function strReplace is passed in The address of the array is used to replace the string recursively. Of course, this is just a very simple method, there are many ways to implement it, just like it!

The above is the detailed content of Detailed explanation of the implementation method of using str_replace to replace multi-dimensional arrays in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn