Dans la programmation PHP, la fonction CEIL () est souvent utilisée pour rassembler. Sa fonction est très simple: il renvoie le plus petit entier supérieur ou égal à la valeur donnée. De nombreux débutants se demanderont si les paramètres eux-mêmes sont des entiers, cel () a-t-il encore un sens? Cette question semble simple, mais en fait, il cache de nombreux scénarios pratiques. Cet article vous amènera à comprendre le vrai rôle de ceil () .
Jetons un coup d'œil à son utilisation la plus élémentaire:
echo ceil(4.2); // Sortir 5
echo ceil(9.999); // Sortir 10
C'est vrai, Ceil () "rassemblera" un numéro de point flottant, et même la partie décimale de 0,0001 portera le résultat vers l'entier suivant.
echo ceil(7); // Sortir 7
D'après le code ci-dessus, nous pouvons voir que l'effet de ceil () sur les entiers semble être "invalide". Combien d'entrée, de la sortie. Mais cela ne signifie pas que c'est inutile.
Dans le développement réel, vous ne pouvez pas toujours garantir que la valeur réalisée est un numéro de point flottant. Par exemple, le nombre total de pages d'une fonction de pagination est calculé:
$totalItems = 95;
$itemsPerPage = 10;
$totalPages = ceil($totalItems / $itemsPerPage); // s'avérer 10
Même si $ totalItems et $ itemsperpage sont des entiers, le résultat de l'opération est un numéro de point flottant et ceil () garantit que le résultat est arrondi vers le haut.
Vous pourriez appeler ceci:
function getPageCount($items, $perPage) {
return ceil($items / $perPage);
}
Dans cette fonction, ceil () peut automatiquement gérer les résultats des points flottants après la division, même si l'entrée elle-même est un entier.
Même si nous savons que le résultat est un entier dans certains cas, l'utilisation de ceil () peut toujours exprimer l'intention de "arrondir vers le haut". Cela aide à la lisibilité et à l'auto-interprétation du code.
Par exemple, vous avez initialement écrit du code comme ceci:
$pages = ceil(100 / 10); // 10
Plus tard, le produit a changé les exigences: le nombre de produits par page n'est plus corrigé à 10, mais la configuration de l'utilisateur est lue:
$userSetting = getUserSetting('items_per_page'); // Le retour est de m66.net/user/settings La valeur obtenue par l'interface
$pages = ceil(100 / $userSetting);
Si vous avez écrit (100/10) directement avant sans ceil () , vous devez refactor le code. Si vous utilisez ceil () , vous n'avez pas besoin de le modifier et le code est plus robuste.
Par exemple, si la valeur soumise via le formulaire est "2", vous obtenez la chaîne "2" . PHP le convertira implicitement en un nombre pendant le traitement, mais les données elle-même peuvent contenir des pièces dénuées de sens après le point décimal, telles que "2.000" .
$input = "2.000";
echo ceil($input); // Sortir 2
Bien qu'il s'agisse d'un entier du point de vue de l'utilisateur, il peut toujours être nécessaire d'utiliser ceil () pour éviter les problèmes de limite au niveau du code.
plancher () : Arrondir
Round () : Arrondi
intVal () : intercepter directement la partie entière (jeter la décimale)
Bien que ces fonctions soient similaires, leur sémantique est différente. Ceil () exprime clairement "Ne manquez aucune pièce", qui convient particulièrement à la pagination et au traitement par lots.
Alors que dans certains cas, il semble "redondant" d'utiliser ceil () sur les entiers, en développement réel, il a les fonctions suivantes:
Gérer les types d'entrée inconnus pour assurer les résultats corrects;
Gardez le code sémantique clair;
Améliorer la robustesse et la maintenabilité du code;
Évitez les problèmes causés par des erreurs de point flottantes ou des conversions de type.
La prochaine fois que vous souhaitez supprimer ceil () , réfléchir deux fois avant de le faire - cela peut protéger votre programme contre les bugs cachés.