Position actuelle: Accueil> Derniers articles> Le cel () peut-il fonctionner dans les nombres de gestion PHP sous forme de chaîne?

Le cel () peut-il fonctionner dans les nombres de gestion PHP sous forme de chaîne?

M66 2025-06-23

Utilisation de base de la fonction CEIL ()

La syntaxe de base de la fonction ceil () est la suivante:

 ceil(float $num): float

Cette fonction prend un paramètre numérique et renvoie le plus petit entier supérieur ou égal à la valeur. Par exemple:

 echo ceil(3.2); // Sortir 4

Nombres sous forme de chaîne

En PHP, les chaînes sont automatiquement converties en types numériques dans les opérations mathématiques. Autrement dit, si vous passez dans une chaîne qui peut être analysée dans un numéro de point flottant, ceil () fonctionnera comme d'habitude:

 echo ceil("4.7"); // Sortir 5
 echo ceil("10"); // Sortir 10

Ceci est particulièrement utile lors de la gestion de l'entrée de formulaire ou de l'obtention des paramètres:

 $price = $_GET['price']; // URL: https://m66.net/product.php?price=9.3
echo ceil($price); // Sortir 10

Même si $ _get ['Price'] est un type de chaîne, ceil () fonctionnera correctement tant que son format est légal.


Qu'arrive-t-il aux chaînes illégales?

Si la chaîne passée ne peut pas être convertie en valeur numérique, PHP le traite comme 0 et déclenche un avertissement:

 echo ceil("abc"); // Sortir 0,et déclencheurPHPavertir

De même, pour les caractères mixtes (tels que "12ABC"), PHP analyse de gauche à droite jusqu'à ce que les caractères non numériques soient rencontrés:

 echo ceil("12abc"); // Sortir 12

Bien que cette conception de tolérance de PHP puisse réduire les accidents du programme, cela ne signifie pas que nous devons compter sur celui-ci pour être tolérant aux pannes. Une meilleure approche consiste à utiliser is_numeric () pour juger d'abord puis de traiter:

 $input = $_GET['amount']; // https://m66.net/order.php?amount=3.8

if (is_numeric($input)) {
    echo ceil($input);
} else {
    echo "Entrée non valide";
}