2011-10-09 9 views
7

Jaki byłby najlepszy (najskuteczniejszy, najłatwiejszy do zrozumienia w kodzie, itp.) Sposób sprawdzenia, czy zmienna jest typu pierwotnego w PHP?Jak sprawdzić, czy zmienna jest prymitywna w PHP

powinienem iść na „pozytywne” (np is_string() || is_int()...) drogę lub odwrotnie !is_array() && __is_object().. czy może trochę nawet hodowcy sposób?

+0

Ja osobiście trzymam się 'is_ ()'; są tam z jakiegoś powodu (zawsze staraj się zachować jasność i cel na później). –

+0

a) użyj ** odpowiedzi breiti ** b) ** zdecydowanie ** pozytywny sposób - nigdy nie wiesz, jaki nowy typ pojawi się - lepsze podejście jest uważane za jakiekolwiek inne jako nieprymitywne :) –

Odpowiedz

17

szukasz is_scalar().

+0

Wow, zrobiłem nie wiem, że taki istnieje. Dzięki! – Aurimas

+0

is_scalar() faktycznie działa tylko dla wartości boolowskiej, liczby całkowitej, wartości zmiennoprzecinkowych (double) i stringów. Ponieważ pytanie mówi o prymitywnych typach, które są również tablicą, obiektem, zasobem i NULL, twoja odpowiedź nie zawsze będzie działać. –

+0

@ Pier-AlexandreBlokard Tablice i Obiekty są ogólnie uważane za tak naprawdę nie-elementarne (szczególnie nie Obiekty), NULL jest specjalnym "typem" ... naprawdę nie jest typem w ogóle ..., a zasoby są po prostu zbudowane na liczby całkowite => mogą się zmieniać w czasie :) –

0

chciałbym użyć is_type() pozytywny, ponieważ jest bardziej logiczne, aw zmęczonych razy dostaniesz zdezorientowany przez wszystkie negatywy.

0

dobrze, najłatwiej odczytać kod jest prawdopodobnie zdefiniować is_primitive_type(). wątpię sprawność jest jakaś prawdziwa troska o tak prostej operacji.

Powiązane problemy