/**
* Met à jour la valeur et l'URL d'un élément dans un tableau multidimensionnel
* en utilisant une expression régulière pour la recherche.
*
* @param array $array Le tableau multidimensionnel à parcourir
* @param string $searchTerm L'expression régulière à utiliser pour la recherche
* @param string $newValue La nouvelle valeur à assigner à l'index 0
* @param string $newUrl La nouvelle URL à assigner à l'index 1
* @param int $index L'index de l'élément à vérifier dans les sous-tableaux
* @return array Le tableau mis à jour
*/
function ng1UpdateArrayValueRegex($array, $searchRegex, $newValue, $newUrl, $index = 0) {
foreach ($array as $key => $subarray) {
// Vérifie si le sous-tableau actuel contient des sous-tableaux
if (is_array($subarray)) {
// Parcours tous les éléments du sous-tableau actuel pour trouver une correspondance avec l'expression régulière
$matched = false;
foreach ($subarray as $subkey => $value) {
// Vérifie si l'élément à l'index $index correspond à l'expression régulière $searchRegex
if ($subkey == $index && preg_match($searchRegex, $value)) {
$matched = true;
break;
}
}
// Si une correspondance est trouvée, met à jour les valeurs pour l'index 0 et l'index 1
if ($matched) {
$array[$key][0] = $newValue;
$array[$key][1] = $newUrl;
// Sort de la boucle pour éviter de mettre à jour plusieurs occurrences
break;
} else {
// Si le sous-tableau actuel ne contient pas la valeur correspondant à l'expression régulière, appelle la fonction récursivement
$array[$key] = ng1UpdateArrayValueRegex($subarray, $searchRegex, $newValue, $newUrl, $index);
}
}
}
// Retourne le tableau mis à jour
return $array;
}Modifier la valeur d’une ligne d’un tableau si l’une de ses valeurs match avec la regex choisie
Written by