Détruire un sous-tableau en fonction de son contenu
Bonjour,
Je souhaite enregistrer en cookie des configurations de formulaires générés en JavaScript.
Avant d'enregistrer une nouvelle configuration, je voudrais effacer une configuration antérieure qui porterait le même nom, si possible SANS parcourir tout le contenu du cookie.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| // Traitement du $_POST
unset($_POST['valid'], $_POST['all']);
if (empty($_POST['insField'])) {
//$errors[] = PRINT_ERR_POST;
break;
}
// Sauvegarde de la configuration
$save = trim($_POST['save']);
if (!empty($save)) {
$cookie = [];
if (isset($_COOKIE['save'])) {
$cookie = unserialize($_COOKIE['save']);
// Si le nom de sauvegarde existe déjà on détruit l'ancienne sauvegarde
if (in_array($save, array_column($cookie, 'save'))) {
// Le but est d'obtenir ici la clé du $cookie pour détruire la clé et sa valeur
// Ce qui suit est un essai qui ne me paraît pas être la bonne méthode
$post[] = $_POST;
var_dump(array_intersect_key($post, $cookie)); // Ne fonctionne pas si les index ne sont pas les mêmes
}
}
$cookie[] = $_POST;
setcookie('save', serialize($cookie), time() + 3600*24*3650);
} |