12
votes

Comment tester si une variable est primitive dans PHP

Quel serait le meilleur (le plus efficace, le plus facile à comprendre dans le code de code, etc.) de vérifier si une variable est de type primitif en PHP?

devrais-je aller le "positif" (par exemple, is_string () || is_int () ...) way, ou vice versa ! is_array () && __is_Object (). / code> ou peut-être une manière encore plus féroce?


2 commentaires

Personnellement, je resterais avec is_ () ; Ils sont là pour une raison (toujours essayer de conserver la clarté et le but pour plus tard sur la route).


a) Utilisez Breitti Réponse B) Certainement Voie positive - vous ne savez jamais ce que le nouveau type pop-out - une approche meilleure est considérée comme non primitive :)


3 Réponses :


0
votes

J'utiliserais le IS_TYPE () positif, car il est plus logique et dans les moments fatigués, vous serez confus par tous les négatifs.


0 commentaires

0
votes

Eh bien, le plus facile à lire dans le code est probablement de définir un is_primitiq_type () . Je doute que l'efficacité soit une préoccupation réelle pour une opération aussi simple.


0 commentaires

27
votes

Vous recherchez is_scalar () .


2 commentaires

is_scalar () ne fonctionnera réellement que pour booléens, entier, flotteur (double) et une chaîne. Parce que la question concerne les types primitifs, qui sont également une matrice, un objet, une ressource et une null Votre réponse ne fonctionnera pas toujours.


@ Pier-Alexandrebouchard Les matrices et les objets sont généralement considérés comme primitives primitifs (surtout non des objets), NULL est un "type" spécial ... pas vraiment un type de tout ... et la ressource arrive juste à être construite sur des entiers => peut changer dans le temps :)