Home  >  Article  >  Backend Development  >  Detailed explanation of how PHP uses str_replace to replace multi-dimensional arrays

Detailed explanation of how PHP uses str_replace to replace multi-dimensional arrays

*文
*文Original
2018-01-02 17:54:012198browse

PHP How to use str_replace to replace multi-dimensional arrays? This article mainly introduces the implementation method of PHP using str_replace to replace multi-dimensional arrays, and combines specific examples to compare and analyze the implementation skills and precautions related to PHP's traversal and replacement operations for multi-dimensional arrays. Friends in need can refer to it. I hope it will be helpful to everyone.

The example in this article describes how to use 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, you cannot achieve all the strings. replace. So I wrote a method to realize the replacement of multi-dimensional array strings.

First, let’s test the replacement of arrays by directly using str_replace.

$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 the 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

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!

Related recommendations:

Simple summary of PHP function learning_PHP tutorial

php recursive function call explanation

php string function

The above is the detailed content of Detailed explanation of how PHP uses str_replace to replace multi-dimensional arrays. 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