Comment supprimer des valeurs du tableau Laravel
P粉805535434
P粉805535434 2024-03-31 21:54:37
0
1
469

J'essaie de créer un système de réservation journalière très basique et je dois renvoyer toutes les dates d'une plage, puis supprimer les dates sélectionnées de cette plage. J'ai essayé le code suivant mais j'ai réalisé que cela supprimait les doublons, ce qui est bien, mais je dois également supprimer la date.

Quelqu'un peut-il suggérer une bonne façon de procéder ?

Dans l'exemple ci-dessous, je veux juste voir :

2022-04-03T00:00:00.000000Z

2022-04-04T00:00:00.000000Z

2022-04-05T00:00:00.000000Z

$start_date = "2022-04-01";
$end_date = "2022-04-05";

$datesToRemove = [
   '2022-04-01T00:00:00.000000Z',
   '2022-04-02T00:00:00.000000Z'
];

$range = Carbon::parse($start_date)->toPeriod($end_date)->toArray();
$available = array_unique(array_merge($range, $datesToRemove));
return $available;

P粉805535434
P粉805535434

répondre à tous(1)
P粉186897465

Pour comparer, les valeurs comparées doivent avoir le même format. J'ai décidé de convertir $datesToRemove au format Carbon. Vous pouvez utiliser des boucles imbriquées et vérifier à l'aide des fonctions PHP in_array().

$start_date = "2022-04-01";
$end_date = "2022-04-05";

$datesToRemove = [
"2022-04-01T00:00:00.000000Z",
"2022-04-02T00:00:00.000000Z"
];

$range = \Carbon\Carbon::parse($start_date)->toPeriod($end_date)->toArray();
$datesToRemove2 = [];
foreach($datesToRemove as $r) {
    $datesToRemove2[] = \Carbon\Carbon::parse($r);
}

$res = [];
foreach($datesToRemove2 as $index => $d1) {
    if(in_array($d1, $range)) {        
        unset($range[$index]);        
    }
}

return $range;

Sortie

{
  "2":"2022-04-03T00:00:00.000000Z",
  "3":"2022-04-04T00:00:00.000000Z",
  "4":"2022-04-05T00:00:00.000000Z"
}

signifie

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!