2011-10-09 12 views
7

Quale sarebbe il modo migliore (più efficiente, più facile da capire nel codice, ecc.) Per verificare se una variabile è di tipo primitivo in PHP?Come verificare se una variabile è primitiva in PHP

Devo andare (ad esempio is_string() || is_int()...) modo "positivo", o viceversa !is_array() && __is_object().. o forse qualche modo ancora più elaborato?

+0

Io, personalmente, rimango con 'is_ ()'; sono lì per un motivo (cerca sempre di mantenere la chiarezza e lo scopo per dopo lungo la strada). –

+0

a) utilizzare la risposta di ** breiti ** b) ** decisamente ** modo positivo - non si sa mai quale nuovo tipo verrà estratto - l'approccio migliore è considerato un altro come non primitivo :) –

risposta

17

siete alla ricerca di is_scalar().

+0

Wow, l'ho fatto non so che esiste. Grazie! – Aurimas

+0

is_scalar() in realtà funziona solo per booleano, intero, float (doppio) e stringa. Poiché la domanda parla di tipi primitivi che sono anche matrice, oggetto, risorsa e NULL, la tua risposta non funzionerà sempre. –

+0

@ Pier-AlexandreBouchard Le matrici e gli oggetti sono generalmente considerati non primitivi-elementari (specialmente non gli oggetti), NULL è un "tipo" speciale ... non proprio un tipo ... e la risorsa sembra essere costruita su interi => possono cambiare nel tempo :) –

0

Vorrei utilizzare l'is_type() positiva, come è più logico, e in tempi stanchi si ottengono confusi da tutti i lati negativi.

0

Beh, il più facile da leggere il codice è probabilmente quello di definire un is_primitive_type(). dubito che l'efficienza è una reale preoccupazione per una semplice operazione di tale.

Problemi correlati