Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont PHP utilise str_replace pour remplacer les tableaux multidimensionnels

Explication détaillée de la façon dont PHP utilise str_replace pour remplacer les tableaux multidimensionnels

*文
*文original
2018-01-02 17:54:012198parcourir

Comment utiliser str_replace pour remplacer des tableaux multidimensionnels en PHP ? Cet article présente principalement la méthode d'implémentation de PHP utilisant str_replace pour remplacer les tableaux multidimensionnels, et combine des exemples spécifiques pour comparer et analyser les compétences d'implémentation et les précautions liées aux opérations de parcours et de remplacement de PHP pour les tableaux multidimensionnels. Les amis dans le besoin peuvent s'y référer. J'espère que cela sera utile à tout le monde.

L'exemple de cet article décrit comment utiliser str_replace pour remplacer des tableaux multidimensionnels en PHP. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

En PHP, si vous utilisez str_replace pour remplacer des chaînes dans un tableau, vous ne pouvez remplacer des tableaux unidimensionnels que s'il s'agit d'un tableau multidimensionnel. tableau, toutes les chaînes ne peuvent pas être remplacées. J'ai donc écrit une méthode pour réaliser le remplacement des chaînes de tableaux multidimensionnels

Tout d'abord, testons le remplacement des tableaux en utilisant directement str_replace

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

Le résultat s'est avéré être. comme suit :

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

Il a été constaté que seules les chaînes du tableau unidimensionnel ont été remplacées et que les tableaux avec plus de dimensions n'ont pas été remplacés.

La fonction implémente le remplacement de chaîne de tableaux multidimensionnels

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

Le résultat est le suivant :

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

Il s'avère que le remplacement de chaîne de tableaux multidimensionnels arrays est implémenté

La fonction strReplace transmet l'adresse du tableau et remplace la chaîne de manière récursive. Bien sûr, ce n'est qu'une méthode très simple, il existe de nombreuses façons de la mettre en œuvre, tout comme celle-ci !

Recommandations associées :

Un résumé simple du tutoriel d'apprentissage des fonctions PHP_PHP

Explication sur l'appel des fonctions récursives php

fonction de chaîne php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn