- PHP: как узнать тип переменной: 2 способа
- gettype. Пример
- settype. Как установить тип для переменной
- Бонус. Специальные функции
- Вывод значения переменной в PHP (echo, print_r, var_dump)
- echo
- var_dump
- print_r
- Всё в одной удобной функции
- gettype
- Parameters
- Return Values
- Changelog
- Examples
- See Also
- User Contributed Notes 2 notes
- Узнать содержимое переменной php
- Решение
PHP: как узнать тип переменной: 2 способа
Типы данных в языке PHP используются для хранения различных видов данных или значений. В последних версиях язык поддерживает 8 встроенных типов данных. Все их можно разделить на три вида:
1. «Скалярные» или простые типы.
Простые типы
В PHP существует четыре простых типа данных:
- булев (boolean),
- целое число (integer),
- дробное число (float),
- строка (string).
Сложные или составные типы
Также в PHP есть два основных типа данных:
Специальные типы
В языке предусмотрено два таких типа данных:
Часто нужно менять данные с одного типа на другого. Или, например, просто узнавать тип данных для какого-либо объекта. В этих и множестве других случаев помогут две функции: gettype и settype.
gettype. Пример
Функция gettype() возвращает тип данных переменной, переданной ей в качестве аргумента. При этом она может получить вообще любой тип переменной.
Необходимо сохранить возвращаемое значение в переменной и вывести его на экран. Например, вот так
"; $mini = 3.2; echo gettype($mini) ."
"; $dini = "Privet"; echo gettype($dini) ."
"; $bini = array(); echo gettype($bini) ."
"; $gini = array("cat", "dog", "horse"); echo gettype($gini) ."
"; $tini = NULL; echo gettype($tini) ."
"; $zini = false; echo gettype($zini) ."
"; ?>
Подробнее о функции
Функция gettype() — это встроенная функция в PHP для получения типа переменной.
Для проверки типа текущей переменной используется следующий синтаксис:
Параметры: принимает один аргумент $var. Это название переменной, тип которого мы и хотим проверить.
Возвращаемое значение: строка, описывающая тип данных:
- boolean.
- NULL.
- integer.
- resource.
- double (возвращается, если аргумент является дробным числом).
- object.
- array.
- unknown type (неизвестный тип).
Пример использование функции ниже:
settype. Как установить тип для переменной
settype() используется для изменения типа переменной — с текущего на необходимый. Функция принимает два параметра:
- Имя переменной, которую нужно преобразовать.
- Тип, к которому нужно преобразовать переменную.
"; $mini = 4.3; settype($mini,'integer'); echo gettype($mini) . "
"; $dini = "Hi bears"; settype($dini,'array'); var_dump($dini); echo"
"; echo gettype($dini) . "
"; $gini = array("red", "green", "blue"); settype($gini,'string'); echo gettype($gini) . ";"; ?>
string integer array(1) < [0]=>string(12) "Hi bears" > array string;
Подробнее о функции
Функция settype() применяется для того, чтобы установить тип переменной или изменить тип уже существующей.
Переменная — один из самых частых объектов, которым оперирует программист в PHP и других языках.
boolean settype($variable_name, $type)
Параметры: принимает два параметра:
- $variable_name: имя переменной.
- $type: строка с именем устанавливаемого типа. Возможные значения: «boolean» или «bool», «integer» или «int», «float» или «double», «string», «array», «object», «null».
Возвращаемое значение: TRUE, если преобразование типов переменной прошло успешно, и FALSE — в обратном случае.
Бонус. Специальные функции
- is_object($a): вернет true, если $a содержит ссылку на какой то объект.
- is_bool($a): вернет true, если в $a хранится булево значение.
- is_integer($a): вернет true, если в $a записано целое число.
- is_array($a): вернет true, если $a является массивом.
- is_string($a): вернет true, если $a содержит строку.
- is_null($a): вернет true, если $a представляет null.
- is_double($a): вернет true, если $a является дробным числом.
- is_scalar($a): вернет true, если $a является простым типом данных, например, представляет из себя логическое значение или строку.
- is_numeric($a): возвращает true, если $a является действительным, либо же целым числом. Также true будет возвращен в случае, когда переменная представляет из себя строковое представление числа.
Немного о преобразовании
PHP умеет автоматически преобразовывать разные типы переменных друг в друга. Но возможность задать явное преобразование также предусмотрена в языке.
Изучение типов переменных принесет вам пользу в долгосрочной перспективе. Ну а чтобы пользы было ещё больше — успейте записаться на курс бэкенд-разработчик от Loft.
Допустим нам нужно изменить «false» в int. Чтобы это сделать вы можете использовать, например, такой подход:
$boolVar = false; $intVar = (int)$boolVar; // 0 echo "boolVar = $boolVar
intVar = $intVar";
Обратите внимание: значение находится внутри переменной $intVar.
Вы можете задавать явное преобразование в следующие типы объектов:
Вывод значения переменной в PHP (echo, print_r, var_dump)
В PHP есть несколько способов вывести значениепеременной, но далеко не все умеют работать со всеми типами данных. Рассмотрим разные способы.
echo
Языковая конструкция echo без проблем может выводить на страницу значение числовой или строковой перемененной. Также она может вывести значение переменной в формате DateTime, преобразовав его в строку. Но если сделать
var_dump
Функция var_dump печатает выводит содержание переменной. Заодно указывает типы данных, к которым относятся переменные. Попробуем её на практике:
array(3) < [0] =>int(5) [1] => bool(false) [2] => string(8) "Мышь" >
Функция var_dump выводит переменную с переносами строк. Поэтому обрамить результат вывода в тег pre, то код станет легче воспринимать. Попробуем сделать так
array(3) < [0] =>int(5) [1] => bool(false) [2] => string(8) "Мышь" >
В отличии от echo функция var_dump выводит абсолютно все типы данных. Часто помогает в разработке и отладке кода.
print_r
Функция print_r — это аналог функции var_dump, но в её выводе нет указания на тип данных. Попробуем её на практике:
Если вместо второго элемента массива «false» поставить true, то будет выводиться единица, а не пустое место:
Всё в одной удобной функции
Если Вы уже прочитали статью «Функции в PHP», то сможете догадаться, что лучше всего для вывода переменной сделать функцию-обёртку. Выберем для этих целей именно print_r, потому что зачастую print_r используется чаще, чем var_dump. Попробуем сделать это:
Всё готово! Теперь во время отладки и разработки можно пользоваться функцией PrintObject( ), чтобы вывести содержание переменной. Но на реальных сайтах может возникнуть небольшая проблема со стилями, которые будут влиять на содержимое блока . Эти стили можно переопределить. Поэтому чуть доработаем пример:
Этих стилей будет достаточно, чтобы выводить читаемый результат на вёрстке практически любой сложности.
gettype
Returns the type of the PHP variable value . For type checking, use is_* functions.
Parameters
The variable being type checked.
Return Values
- «boolean»
- «integer»
- «double» (for historical reasons «double» is returned in case of a float , and not simply «float» )
- «string»
- «array»
- «object»
- «resource»
- «resource (closed)» as of PHP 7.2.0
- «NULL»
- «unknown type»
Changelog
Version | Description |
---|---|
7.2.0 | Closed resources are now reported as ‘resource (closed)’ . Previously the returned value for closed resources were ‘unknown type’ . |
Examples
Example #1 gettype() example
$data = array( 1 , 1. , NULL , new stdClass , ‘foo’ );
foreach ( $data as $value ) echo gettype ( $value ), «\n» ;
>
The above example will output something similar to:
integer double NULL object string
See Also
- get_debug_type() — Gets the type name of a variable in a way that is suitable for debugging
- settype() — Set the type of a variable
- get_class() — Returns the name of the class of an object
- is_array() — Finds whether a variable is an array
- is_bool() — Finds out whether a variable is a boolean
- is_callable() — Verify that a value can be called as a function from the current scope.
- is_float() — Finds whether the type of a variable is float
- is_int() — Find whether the type of a variable is integer
- is_null() — Finds whether a variable is null
- is_numeric() — Finds whether a variable is a number or a numeric string
- is_object() — Finds whether a variable is an object
- is_resource() — Finds whether a variable is a resource
- is_scalar() — Finds whether a variable is a scalar
- is_string() — Find whether the type of a variable is string
- function_exists() — Return true if the given function has been defined
- method_exists() — Checks if the class method exists
User Contributed Notes 2 notes
Be careful comparing ReflectionParameter::getType() and gettype() as they will not return the same results for a given type.
string — string // OK
int — integer // Type mismatch
bool — boolean // Type mismatch
array — array // OK
Same as for «boolean» below, happens with integers. gettype() return «integer» yet proper type hint is «int».
If your project is PHP8+ then you should consider using get_debug_type() instead which seems to return proper types that match used for type hints.
Узнать содержимое переменной php
Присвоить переменной содержимое *.php
В отдельном пхп файле хтмл код блока со значениями из бд типа "$row. Как мне присвоить переменной.
Узнать содержимое переменной во время отладки
var c = b.First(d => d.Current); как узнать что у меня в d.Current?
Как узнать содержимое переменной в swf файле
как узнать содержимое переменной в swf файле или вызвать функцию. . и передать переменную в swf.
var_export($cart, TRUE); var_export($cart); debug_zval_dump( $cart);
Сообщение было отмечено sly444 как решение
Решение
Сообщение от sly444
$cart=» print ‘hello!’ ?>«; for ($i=0;$i
Содержимое переменной в качестве имени переменной
Подскажите пожалуйста возможно ли использовать содержимое строковой переменной (допустим.
Содержимое переменной в качестве переменной
Всем доброго времени суток! помогите решить задачку)) Если сделать так $ то получим имя.
Как php переменной присвоить значение переменной javascript?
есть переменная php как ей присвоить значение переменной javascript?
содержимое переменной в if()
У меня вопрос, можно ли каким то образом составить текстовую переменную, а потом вставить её в.