T: / Corrigés des challenges / PHP
Manipuler efficacement des tableaux en PHP, en gérant astucieusement les index.
Pour ce second challenge, il fallait identifier des timestamps qui créaient des intervalles irréguliers. L’occasion idéale pour mettre en pratique une manipulation efficace des index des tableaux en PHP.
Comme souvent dans les challenges Tainix, une bonne analyse de l’énoncé permet de simplifier le code et la logique à implémenter.
L’énoncé précise clairement que le premier timestamp est toujours correct. En conséquence, l’intervalle régulier de la série se déduit facilement des deux premiers timestamps fournis :
$ecart = $timestamps[1] - $timestamps[0];
Cette ligne permet d’obtenir immédiatement l’intervalle régulier attendu entre chaque timestamp, celui qui nous servira de contrôle pour la suite.
Une boucle for permet de parcourir facilement le tableau, tout en comparant chaque élément avec son prédécesseur grâce aux index :
// Initialisation des éléments de la réponse
$results = [];
// On compte le nombre d'éléments
$nbTimestamps = count($timestamps);
// Boucle for
for ($i = 2; $i < $nbTimestamps; $i++) {
// Contrôle et stockage de la réponse
if ($timestamps[$i] - $timestamps[$i-1] != $ecart) {
$results[] = $timestamps[$i];
}
}
Un peu d’explications :
On peut afficher le résultat de cette façon :
// Utilisation des index
echo $results[0] . '_' . $results[1];
Ou avec des fonctions PHP natives :
// Utilisation de implode et array_slice
echo implode('_', array_slice($results, 0, 2));
Cette approche directe et concise met clairement en évidence l’importance de la gestion des indices lors de la manipulation de tableaux en PHP. Elle offre une solution facile à comprendre et particulièrement efficace pour ce type de challenge.
Other content to discover