Mettre à jour la première occurrence d’un sous-tableau contenant le terme de recherche spécifié.
<?php
/**
* Cette fonction parcourt récursivement un tableau multidimensionnel et met à jour
* la première occurrence d'un sous-tableau contenant le terme de recherche spécifié.
*
* @param array $array Le tableau à parcourir
* @param string $newValue La nouvelle valeur pour l'index 0 du sous-tableau
* @param string $newUrl La nouvelle valeur pour l'index 1 du sous-tableau
* @param string $searchTerm Le terme à rechercher dans le tableau
*
* @return array Le tableau mis à jour
*/
function ng1UpdateArrayValue($array, $searchTerm, $newValue, $newUrl,$index =0) {
foreach ($array as $key => $subarray) {
// Vérifie si le sous-tableau actuel contient le terme de recherche spécifié
if ($subarray[$index] === $searchTerm) {
// Si c'est le cas, met à jour les valeurs pour l'index 0 et l'index 1
$array[$key][0] = $newValue;
$array[$key][1] = $newUrl;
// Sort de la boucle pour éviter de mettre à jour plusieurs occurrences
break;
} elseif (is_array($subarray)) {
// Si le sous-tableau actuel n'est pas une feuille, appelle la fonction récursivement
$array[$key] = ng1UpdateArrayValue($subarray, $newValue, $newUrl, $searchTerm,$index);
}
}
// Retourne le tableau mis à jour
return $array;
}