PHP 5.6.14 is available


(PHP 4, PHP 5, PHP 7)

is_stringDétermine si une variable est de type chaîne de caractères


bool is_string ( mixed $var )

Détermine si la variable donnée est de type chaîne de caractères.

Liste de paramètres


La variable à évaluer.

Valeurs de retour

Retourne TRUE si var est une chaîne de caractères, FALSE sinon.


Exemple #1 Exemple avec is_string()

= array(falsetruenull'abc''23'23'23.5'23.5''' ''0'0);
foreach (
$values as $value) {
") = ";

L'exemple ci-dessus va afficher :

is_string(false) = bool(false)
is_string(true) = bool(false)
is_string(NULL) = bool(false)
is_string('abc') = bool(true)
is_string('23') = bool(true)
is_string(23) = bool(false)
is_string('23.5') = bool(true)
is_string(23.5) = bool(false)
is_string('') = bool(true)
is_string(' ') = bool(true)
is_string('0') = bool(true)
is_string(0) = bool(false)

Voir aussi

  • is_float() - Détermine si une variable est de type nombre décimal
  • is_int() - Détermine si une variable est de type nombre entier
  • is_bool() - Détermine si une variable est un booléen
  • is_object() - Détermine si une variable est de type objet
  • is_array() - Détermine si une variable est un tableau

add a note add a note

User Contributed Notes 3 notes

laszlo dot heredy shift-two gmail etc
1 year ago
Using is_string() on an object will always return false (even with __toString()).

class B {
  public function
__toString() {
"Instances of B() can be treated as a strings!\n";

$b = new B();
$b); //Instances of B() can be treated as a strings!
print(is_string($b) ? 'true' : 'false'); //false
slicky at newshelix dot com
14 years ago
Be aware that this function could result into unwanted results if you check single chars in an array.
For instance:
You have a simple string and want to repeat this string evertime it ends.

for ($i=0; $i < strlen($string);$i++){
$x = 0;

This will print you out the key, but won't iterate it since $x won't be reset. is_string function will give out true at element in that string, even if it doesn't exist. for instance is_string $key[1000] while your string is just 10chars long.
However this doesn't matter just use $key[$x] == '' instead.
Of course you won't use this to iterate a string, but you might come across something where this get useful, for instance for a en/decrypt engine.
Sammy Moshe
2 years ago
The cool thing about this function is that it lets you be a lot more specific with your logic than you could have been before. And since I'm all about explicit control, when it comes to code, this one gets me all hot and bothered.

//Like this. You could also do the reverse of it.
if(is_string($variable) ) && !is_array($variable) ){
//Do something that appeals to your controlling nature.


God bless those php dev guys for thinking of everything.
To Top