PHP 8.4.0 Alpha 2 available for testing

is_string

(PHP 4, PHP 5, PHP 7, PHP 8)

is_stringПроверяет, представляет ли собой тип переменной строку

Описание

is_string(mixed $value): bool

Проверяет, представляет ли собой тип переменной строку.

Список параметров

value

Проверяемая переменная.

Возвращаемые значения

Возвращает true, если значение value — строка, иначе false.

Примеры

Пример #1 Пример использования функции is_string()

<?php

$values
= array(false, true, null, 'abc', '23', 23, '23.5', 23.5, '', ' ', '0', 0);
foreach (
$values as $value) {
echo
"is_string(";
var_export($value);
echo
") = ";
echo
var_dump(is_string($value));
}

?>

Результат выполнения приведённого примера:

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)

Смотрите также

  • is_float() - Проверяет, представляет ли собой переменная число с плавающей точкой
  • is_int() - Проверяет, представляет ли собой переменная целое число
  • is_bool() - Проверяет, представляет ли собой переменная логическое значение
  • is_object() - Проверяет, представляет ли собой переменная объект
  • is_array() - Определяет, представляет ли собой переменная массив

add a note

User Contributed Notes 2 notes

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

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

$b = new B();
print(
$b); //Instances of B() can be treated as a strings!
print(is_string($b) ? 'true' : 'false'); //false
?>
up
10
Peter Barney
6 years ago
As noted earlier, is_string() returns false on an object that has a __toString() method. Here is a simple way to do a check that will work:

<?php
// determine if the passed argument can be treated like a string.
function is_stringy($text) {
return (
is_string($text) || (is_object($text) && method_exists($text, '__toString' ));
}
To Top