Php

Типы переменных php: разбираем все типы и принципы работы с ними

PHP: Манипуляции с типами — Manual

Манипуляции с типами

PHP не требует (и не поддерживает) явного типа при определении переменной;
тип переменной определяется по контексту, в котором она используется.
То есть, если вы присвоите значение типа string
переменной $var, то $var изменит тип
на string.
Если вы затем присвоите $var значение типа integer,
она станет целым числом (integer).

Примером автоматического преобразования типа является оператор
умножения ‘*’. Если какой-либо из операндов является float,
то все операнды интерпретируются как float,
и результатом также будет float. В
противном случае операнды будут интерпретироваться как integer
и результат также будет integer. Обратите внимание, что это
НЕ меняет типы самих операндов;
меняется только то, как они вычисляются и сам тип выражения.


<?php
$foo = "1";  // $foo - это строка (ASCII-код 49)
$foo *= 2;   // $foo теперь целое число (2)
$foo = $foo * 1.3;  // $foo теперь число с плавающей точкой (2.6)
$foo = 5 * "10 Little Piggies"; // $foo - это целое число (50)
$foo = 5 * "10 Small Pigs";     // $foo - это целое число (50)
?>

Если последние два примера вам непонятны, смотрите
Преобразование строк в числа.

Если вы хотите, чтобы переменная принудительно вычислялась как
определенный тип, смотрите раздел приведение
типов. Если вы хотите изменить тип переменной, смотрите
settype().

Если вы хотите протестировать любой из примеров, приведенных в
данном разделе, вы можете использовать функцию
var_dump().

Замечание:

Поведение автоматического преобразования в массив в настоящий
момент не определено.

К тому же, так как PHP поддерживает индексирование в строках аналогично
смещениям элементов массивов, следующий пример будет верен для всех версий PHP:


<?php
$a    = 'car'; // $a - это строка
$a[0] = 'b';   // $a все еще строка
echo $a;       // bar
?>

Более подробно смотрите в разделе Доступ к символу
в строке.

Приведение типов

Приведение типов в PHP работает так же, как и в C: имя требуемого
типа записывается в круглых скобках перед приводимой переменной.


<?php
$foo = 10;   // $foo - это целое число
$bar = (boolean) $foo;   // $bar - это булев тип
?>

Допускаются следующие приведения типов:

  • (int), (integer) — приведение к integer
  • (bool), (boolean) — приведение к boolean
  • (float), (double), (real) — приведение к float
  • (string) — приведение к string
  • (array) — приведение к array
  • (object) — приведение к object
  • (unset) — приведение к NULL

Приведение типа (binary) и поддержка префикса b были добавлены в PHP 5.2.1. Обратите внимание, что (binary) по существу то же самое, что и (string), но не
следует полагаться на этот тип приведения.

Приведение типа (unset) объявлено устаревшим с PHP 7.2.0. Обратите внимание, что приведение типа (unset)
это то же самое, что присвоение NULL переменной. Тип приведения
(unset) будет удален в PHP 8.0.0.

Обратите внимание, что внутри скобок допускаются пробелы и
символы табуляции, поэтому следующие примеры равносильны по своему
действию:


<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Приведение строковых литералов и переменных к бинарным строкам:


<?php
$binary = (binary) $string;
$binary = b"binary string";
?>

Замечание:

Вместо использования приведения переменной к string, можно также заключить
ее в двойные кавычки.


<?php
$foo = 10;            // $foo - это целое число
$str = "$foo";        // $str - это строка
$fst = (string) $foo; // $fst - это тоже строка

// Это напечатает "они одинаковы"

if ($fst === $str) {
    echo "они одинаковы";
}
?>

Может быть не совсем ясно, что именно происходит при приведении между типами.
Для дополнительной информации смотрите разделы:

PHP 7 переменые, глобальные, статичные и обычные

Это первая часть из учебника основы программирования на PHP 7, в этой части будет рассказываться как работать с переменными.

Если вы не знаете как скачать и установить PHP, то посмотрите эти статьи на сайте.

Объявление переменной:

Объявление переменной в php очень простое, вам даже не надо особо думать по поводу типа переменной, как к примеру в языке C++, единственное, в название каждой переменной, в начале должен стоять знак доллара.

$a = 10;        // Переменная $a равна числу 10

$b = «Hello»;   // Переменная $b равна слову Hello

Как видите всё очень просто.

PHP типы данных (Переменные):

Основные типы данных или переменные в PHP, их четыре.

  • boolean — двоичные данные о них в другой раз;
  • integer — целые числа;
  • float — числа с плавающей точкой или ‘double’;
  • string — строки;

Это основные, но рассматривать здесь будем только целые числа и строки, так как в основном вам придётся с ними работать, также есть ещё другие типы, но о них в других частях учебника.

Но надо упомянуть ещё один тип, это NULL, он означает пустоту, то есть в переменной даже нуля нет или пустой строки.

Подробно о типах переменных здесь.

Работа с переменными:

В языках программирования работа с переменными обычно делится на работу с числовым типом и со строчным, язык PHP не исключение.

Работа с числам:

С числами можно делать почти всё что хочешь, от обычного сложения, до деления с остатком, для этого в PHP используются математические операторы.

$a = 10;

$b = 3;

 

$c = $a + $b; // Сложение, $c будет равен 13

$c = $a — $b; // Вычитание, $c будет равен 7

$c = $a * $b; // Умножение, $c будет равен 30

$c = $a / $b; // Деление, $c будет равен 3.3333…

$c = $a % $b; // Деление с остатком, $c будет равен 1

Давайте по подробнее разберём деление, первое деление, обычное деление, и если не получается поделить нацело, то оно автоматически превращает целое число в число с плавающей точкой, с делением с остатком думаю тоже всё понятно, оно возвращает остаток от деления, если не делится нацело.

Остальное это обычные арифметические действия, сложение, вычитание и умножение.

Вы ещё можете взять переменную и прибавить к её существующему значению другое значение, к примеру, два, точно также можете делать и с другими операторами PHP.

$a = 3;

$b = 10;

 

$b += $a; // Сложение, $b будет равен 13, это тоже самое что: $b = $b + $a

$b -= $a; // Вычитание, $b будет равен 7, это тоже самое что: $b = $b — $a

$b *= $a; // Умножение, $b будет равен 30, это тоже самое что: $b = $b * $a

$b /= $a; // Деление, $b будет равен 3.3333…, это тоже самое что: $b = $b / $a

$b %= $a; // Деление с остатком, $b будет равен 1, это тоже самое что: $b = $b % $a

Это удобно использовать, чтобы не создавать лишние переменные или не писать длинную команду типа «$b = $b + $a» и т.д..

Также надо сказать о инкремент и декремент в PHP, для тех кто не знает, то это когда переменную увеличивают на один и соответственно уменьшение на один.

$a = 1;

 

$a++ // Инкремент, $a равна 2

$a— // Декремент, $a равна 0

Обычно эти операции используются для циклов, хотя, иногда они бывают и так полезны.

Работа со строками:

В принципе про работу с строковыми переменными практически не чего сказать, единственное, нужно знать как объединять две строковые переменные, это делается через оператор точка.

$a = «Hello»;

$b = «World»;

 

$c = $a . $b; // $c будет равен HelloWorld

Ещё есть вариант написать сокращёно, $a .= $b.

Также встаёт вопрос, как в PHP вставить переменную в строку, тут всё зависит от того, какие кавычки вы используете.

$a = 10;

 

// Вставляем переменную в строку с двойными кавычками

echo «Возраст: $a лет»;

 

// Вставляем переменную в строку с двойными кавычками

echo ‘Возраст: ‘ . $a . ‘ лет’;

Как можете заметить, если вы используете строку с двойными кавычками, вы можете спокойно вставлять переменную в строку, и нечего не надо больше делать.

Если используете строку с одинарными кавычками, то вам надо складывать строки с переменной, переменная число сразу превращается в строку, поэтому с этим нет проблем.

Также, если вы не знаете, echo выводит на экран данные, не важно это строка или число.

Определение типа переменной:

Так как в PHP нет возможности назначить тип переменной, то иногда бывает полезно определить тип переменной, для этого используется функция gettype().

$a = 10;

$b = «Hello»;

 

gettype($a); // Возвращает значение integer

gettype($b); // Возвращает значение string

Больше особо не чего сказать тут, таким образом вы можете выяснить тип переменной.

Вывод:

Здесь пожалуй всё самое нужно, что нужно знать о том как работают в PHP 7 переменные, ну и как с ними работать.

Подписываетесь на соц-сети:

Оценка:

Количество оценивших: 1
Средняя оценка: 5,00

Загрузка…

Дополнительно:

Создание переменных в PHP

Вы здесь:
Главная — PHP — PHP Основы — Создание переменных в PHP


Если Вы изучаете PHP, то, надеюсь, что смысл и назначение переменных в языках программирования понимаете. Поэтому не буду объяснять всё это, и сразу приступим к созданию переменных в PHP.

Давайте сразу создадим переменную и выведем её:

<?php
  $x = 15;
  echo $x;
?>

Здесь мы объявляем переменную x, которой присваиваем значение 15. Затем мы выводим её. Обратите внимание, что переменная всегда предворяется знаком $.

Теперь создадим ещё одну переменную:

<?php
  $str = "some string";
  echo $str;
?>

Тут мы создаём переменную str и присваиваем её строчное значение «some string«. Как видите, строки в PHP ставятся в кавычках, впрочем, как и в большинстве языков программирования.

Теперь поговорим о типах переменных. Точно так же как и в JavaScript, тип переменной определяется самим языком. То есть интерпретатор PHP, в зависимости от значения, подбирает тип. Существует несколько типов переменных в PHP:

1) Integer — целый тип данных.

2) Double — вещественный тип с двойной точностью.

3) Float — вещественный тип данных с одинарной точностью.

4) String — строковый тип.

5) Boolean — булевский тип данных (только два значения: true или false).

5) Array — массив

6) Resource — некий ресурс.

7) Object — объектный тип.

С последними тремя типами данных в PHP мы познакомимся попозже. А вот разницу между float и double давайте обсудим. Не очень понимаю, почему возникает такое количество вопросов по этому моменту. Видно, очень непонятно пишут авторы многих учебных пособий. Поэтому, чтобы исправить эту ошибку, постараюсь объяснить максимально простым языком. Разница между float и double только в диапазоне значений. Double — это тот же float, только диапазон значений гораздо больше, но и памяти он отнимает в 2 раза больше (8 байт, если мне память не изменяет, а float только 4 байта).

Давайте теперь поработаем с переменными в PHP. Для этого напишем такой код:

<?php
  $x = 5;
  $y = -4.5;
  $summa = $x + $y;
  echo $summa;
?>

Здесь мы объявили две переменных в PHP, присвоили им значения, посчитали их сумму, а потом вывели результат.

Думаю, в этой статье достаточно знаний для начала. В следующей статье мы разберём оператор условия IF, а также узнаем об одной очень важной функции — isset().


  • Создано 31.10.2010 21:00:00



  • Михаил Русаков

Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):


  1. Кнопка:

    <a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>

    Она выглядит вот так:


  2. Текстовая ссылка:
    <a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    [URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]

Знакомство с PHP переменными | PHP

При работе со значениями данных в PHP нам нужен удобный способ хранения, чтобы мы могли легко получить доступ к ним и при необходимости ссылаться на них.

PHP глобальные переменные можно рассматривать как место в памяти компьютера, где должны храниться данные. При объявлении переменной ей присваивается имя, которое может использоваться, чтобы ссылаться на нее в других местах программного кода. К значению переменной можно получить доступ, также оно может быть изменено, а тип переменной можно поменять, ссылаясь на ее имя.

Все имена переменных PHP должны быть снабжены префиксом $. Он информирует препроцессор языка, что он имеет дело с переменной. Первый символ имени должен быть буквой или символом подчеркивания (_). Остальные символы могут быть только буквами, цифрами или символами подчеркивания. Все остальные символы считаются недействительными для использования в имени переменной.

Посмотрим на некоторые допустимые и недопустимые имена переменных PHP:

$_myName // допустимо.
$myName  // допустимо.
$__myvar // допустимо.
$myVar21 // допустимо.
$_1Big   // недопустимо, подчеркивание должно следовать после буквы.
$1Big    // недопустимо - должно начинаться с буквы или символа подчеркивания.
$_er-t   // недопустимо - содержит буквенно-цифровой символ (-).

Имена PHP переменных чувствительны к регистру. Это означает, что PHP считает переменную $ _myVariable отличной от переменной » $ _myvariable.

Переменные инициализируются значениями с помощью оператора присваивания PHP (=). Чтобы присвоить значение переменной, ее имя помещается слева от выражения, за которым следует оператор присваивания. Значение, которое присваивается после PHP объявления переменных, помещается справа от оператора присваивания. Строка, как и во всех выражениях PHP кода, завершается точкой с запятой (;).

Начнем с присвоения слова «Круг» переменной с именем myShape:

Мы объявили переменную с именем myShape и присвоили ей строковое значение «Круг«. Аналогичным образом можно объявить переменную, содержащую численное значение:

Мы создаем переменную numberOfShapes и присваиваем ей числовое значение 6. После того, как PHP переменная была создана, присвоенное ей значение может быть изменено с помощью оператора присваивания:

<?php

$numberOfShapes =  6; // Присвоено начальное значение
$myShape = "Круг"; 

$numberOfShapes =  7; // Изменение изначального значения на новое
$myShape = "Квадрат"; 

?>

Теперь мы должны рассмотреть, как получить доступ к текущему значению, присвоенному переменной. Например, если мы хотим вывести на экран значение, которое мы присваивали переменной numberOfShapes, нужно сослаться на него в команде echo:

<?php
echo "Номер фигуры $numberOfShapes.";
?>

Это приведет к следующему выводу в браузере:

Номер фигуры 6.

Точно так же можно отобразить значение переменной myShape:

<?php
echo "$myShape – значение текущей фигуры.";
?>

Примеры, использованные для демонстрации доступа к значениям переменных, простые, потому что у нас всегда был пробел после имени переменной. Возникает вопрос, Что делать, если нужно поставить другие символы сразу после имени PHP переменной. Например:

<?php
echo "Круг 6 $numberOfShapesth фигура";
?>

То, что нам нужно в этом случае выводится следующим образом:

Круг это 6-я фигура.

К сожалению, PHP будет видеть th на конце имени переменной $ numberOfShapes как часть имени. Затем он попытается вывести значение переменной $ numberOfShapesth, которой не существует. Это приводит к тому, что значение этой переменной не отображается:

Круг это фигура.

Можно обойти эту проблему, поставив фигурные скобки ({ }) вокруг имени переменной, чтобы экранировать ее от других символов:

<?php
echo "Круг это ${numberOfShapes}th фигура";
?>

Что дает нам желаемый результат:

Круг это 6-я фигура.

PHP типы переменных: целое, вещественное, логическое, массив, объект и строка. Для начала рассмотрим изменение типа переменной после ее создания.

PHP является слабо типизированным языком. Правила строго типизированного языка диктуют, что как только переменная была объявлена как определенный тип, ее тип не может быть изменен позже. В Java, например, нельзя присвоить число с плавающей точкой переменной, которая первоначально была объявлена как строка.

Слабо типизированные языки, такие как PHP и JavaScript, позволяют изменять тип переменной в любой момент существования переменной путем присвоения ей значения другого типа. Например, можно создать переменную, присвоить ей целое значение, а позже поменять на string:

<?php

$myNumber = 6; // переменная целого типа

$myNumber = "шесть"; // тип переменной изменился на строковый

?>

Процесс динамического изменения типа переменной называется автоматическим преобразованием типов.

В PHP проверка существования переменной является часто используемой операцией. В этом языке предусмотрен механизм для обеспечения этой возможности путем использования функции isset(). Чтобы проверить, имеет ли переменная значение, вызывают функцию isset(), которой в качестве аргумента передается имя переменной:

<?php

$myVariable = "Привет";

if (isset($myVariable))
{
    echo "Переменная инициализирована.";
} 
else
{
    echo " Переменная не инициализирована.";
}
?>

Данная публикация представляет собой перевод статьи «An Introduction to PHP Variables» , подготовленной дружной командой проекта Интернет-технологии.ру

телеграм канал. Подпишись, будет полезно!

Как устроены переменные в PHP / Хабр

Вроде простой вопрос, даже не понятно что на него ответить, правда?
Мы все знаем как создать переменную, как получить значение переменной, как взять ссылку на переменную в конце концов.
Но как они работают изнутри?
Что происходит в интерпретаторе, когда вы изменяете значение переменной? Или когда удаляете ее?
Как реализованы типы переменных?

В этой статье я постараюсь раскрыть именно эти темы.

Abstract

Переменные в PHP выражены в виде неких контейнеров, которые хранят в себе тип переменной, значение, кол-во ссылающихся переменных на этот контейнер, и флаг — является ли эта переменная ссылочной.

Отступление про структуры и указатели

Если вы никогда не писали на Си, то возможно не знаете про такие вещи, как структуры и указатели, которые очень широко тут используются и без которых пожалуй было бы очень сложно представить себе хоть сколько нибудь сложную программу на Си.
Структуры очень похожи на классы, только они не могут иметь методов, только данные, указатели на данные и указатели на функции. Объявляя структуру в Си, вы определяете тип данных, и теперь при определении переменной, вы можете написать имя этой структуры на месте типа той переменной, примерно так:

my_super_struct super_struct_instance;

Указатели — это как переменные-ссылки, только их значение — это адрес в памяти. На самом деле, это ссылки как указатели, только они ведут себя как разыменованные указатели. Лучше показать на коде:

// создали указатель foo, который будет указывать на переменную типа int
int *foo;
// создали переменную типа int
int bar = 3;

// взяли ссылку на переменную bar и присвоили ее указателю.
// теперь foo хранит адрес ячейки памяти, в которой хранится bar
foo = &bar;

// с помощью астериска мы разыменовываем указатель (берем значение по его адресу)
// и инкрементируем значение
(*foo)++;

// а так мы инкрементируем сам указатель, то есть после этой
// операции указатель будет смотреть на другое значение
foo++;

Контейнеры

Контейнером служит структура под названием zval, она выглядит так:

struct zval {
    zvalue_value value;
    zend_uchar type; // можно предположить, что это обычный char
    zend_uchar is_ref;
    zend_ushort refcount;
};

Как мы видим, здесь есть значение, тип, флаг и кол-во ссылающихся переменных.
Здесь есть такие типы, как:

  • LONG
  • BOOL
  • DOUBLE
  • STRING
  • ARRAY
  • OBJECT
  • RESOURCE
  • NULL

zvalue_value — это union. Union — это такой тип, в котором можно объявить несколько членов разных типов, но использоваться в итоге будет только один, вот как он дефайнится:


typedef union _zvalue_value {
        long lval; // integer
        double dval; // float
        struct {
                char *val;
                int len;
        } str; // string
        HashTable *ht; // array
        zend_object obj; // object
} zvalue_value;

В итоге, когда вы будете создавать переменную этого типа, она займет в памяти ровно столько, сколько занимает самый тяжелый элемент юниона.

Зачем столько лишнего?

Теперь разберем — зачем тут, например, какой-то refcount?
А очень просто: когда вы присваиваете переменной значение другой переменной, то они обе ссылаются на один zval, а refcount инкрементируется.

(оригинал с собачкой тут)

Теперь, если вы захотите изменить значение одной из этих переменных, то PHP, увидя refcount больше 1, скопирует этот zval, сделает изменения там, и ваша переменная будет указывать уже на новый zval.

Если это немного формализовать, то это будет выглядеть примерно так:




PHP Под капотом
$foo = "asd";
$bar = $foo;
bar,foo: {
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 0
    refcount: 2
}
$bar .= "q";
foo: {
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 0
    refcount: 1
}
bar: {
    type: string,
    value:
        str:
            val: "asdq"
            len: 4
    is_ref: 0
    refcount: 1
}

Эта техника называется copy on write и она позволяет неплохо снизить потребление памяти.
Также, refcount нужен сборщику мусора, который удаляет из памяти все zval-ы, у которых refcount = 0.

А что делать с ссылками и зачем вообще этот is_ref?

А что происходит со ссылками? Все очень просто: если вы создаете ссылку от переменной, то флаг is_ref становится равным 1, и больше вышеописанная оптимизация для этого zval-а применяться не будет. Поясню кодом:





PHP Под капотом
$foo = "asd";
$bar = $foo;
bar,foo: {
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 0
    refcount: 2
}
$zxc = &$foo;
zxc,foo: {
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 1
    refcount: 2
}
bar: { // переменная bar была выделена в отдельный zval
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 0
    refcount: 1
}
$qwe = $foo;
zxc,foo: {
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 1
    refcount: 2
}
bar: {
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 0
    refcount: 1
}
qwe: { // эта переменная тоже была выделена в отдельный zval
    type: string,
    value:
        str:
            val: "asd"
            len: 3
    is_ref: 0
    refcount: 1
}

Конечно, если вы возьмете еще одну ссылку от foo, то refcount zval-а, на который ссылается foo, увеличится на один.

Пожалуй на этом (пока?) все, в следующей части поговорим о массивах.

PS не знаю кто как воспримет эти картинки, мне показалось это будет забавно 🙂 к сожалению сканера у меня нет

Типы данных PHP, переменные, константы, Учебное пособие по операторам

  • Home
  • Testing

      • Back
      • Agile Testing
      • BugZilla
      • Cucumber
      • 000
      • 000 База данных
      • 000 Testing
      • Назад
      • JUnit
      • LoadRunner
      • Ручное тестирование
      • Мобильное тестирование
      • Mantis
      • Почтальон
      • QTP
      • Назад
      • Центр качества SAP
      • SoapUI
      • Управление тестированием
      • TestLink
  • SAP

      • Назад
      • 90 003 ABAP

      • APO
      • Начинающий
      • Basis
      • BODS
      • BI
      • BPC
      • CO
      • Назад
      • CRM
      • Crystal Reports
      • 000
      • 000 HRO0003000 HRO
      • Заработная плата
      • Назад
      • PI / PO
      • PP
      • SD
      • SAPUI5
      • Безопасность
      • Менеджер решений
      • Successfactors
      • SAP Back Tutorials
      • 9007
          • Apache
          • AngularJS
          • ASP.Net
          • C
          • C #
          • C ++
          • CodeIgniter
          • СУБД
          • JavaScript
          • Назад
          • Java
          • JSP
          • Kotlin
          • Linux
          • Linux
          • Kotlin
          • Linux
          • js

          • Perl
          • Назад
          • PHP
          • PL / SQL
          • PostgreSQL
          • Python
          • ReactJS
          • Ruby & Rails
          • Scala
          • SQL
          • 000

          • SQL
          • 000

            0003 SQL

            000

            0003 SQL

            000

          • UML
          • VB.Net
          • VBScript
          • Веб-службы
          • WPF
      • Обязательно учите!

          • Назад
          • Бухгалтерский учет
          • Алгоритмы
          • Android
          • Блокчейн
          • Бизнес-аналитик
          • Создание веб-сайта
          • CCNA
          • Облачные вычисления
          • COBOL 9000

            0

          • 27

              9002

                0 Дизайн COBOL

                  Полное руководство по переменным PHP

                  Резюме : в этом руководстве вы узнаете, как использовать переменных PHP с по для хранения данных и управления ими .

                  Определение переменных PHP

                  Переменная хранит значение любого типа, например, строку, число, массив, объект или ресурс. У переменной есть имя и значение. Для определения переменной используется следующий синтаксис:

                  При определении переменных в PHP необходимо соблюдать правила именования переменных:

                  • Имя переменной должно начинаться со знака доллара ( $ ).
                  • Первый символ после знака доллара ( $ ) должен быть буквой ( a-z ) или знаком подчеркивания ( _ )
                  • Остальные символы могут быть подчеркиваниями, буквами или цифрами.

                  Переменные PHP чувствительны к регистру. Это означает, что переменные $ abc и $ AbC — совершенно разные переменные.

                  В следующем примере определяются две целочисленные переменные:

                  Типы данных переменных

                  PHP — это свободно типизированный язык программирования.Это означает, что когда вы определяете переменную, вы не указываете ее тип данных. PHP автоматически выберет соответствующий тип данных для переменной на основе значения, которое вы присваиваете переменной. Кроме того, тип переменной изменяется, когда вы присваиваете разные типы значений. См. Следующий пример:

                  $ x = 20;

                  $ x = ‘Это строка’;

                  Сначала мы определили переменную $ x как целое число, потому что присвоили ей значение 20.Во-вторых, мы присвоили буквальную строку $ x , поэтому тип данных $ x теперь строка вместо целое число .

                  PHP предоставляет следующие типы данных:

                  • Скалярные типы данных: целочисленные, с плавающей запятой, строковые и логические.
                  • Составные типы данных: массив и объект.
                  • Специальные типы данных: null и ресурс

                  Для получения дополнительной информации о типах данных PHP ознакомьтесь с руководством по типам данных PHP.

                  Приведение типов

                  PHP выполняет преобразование типов автоматически в зависимости от контекста, в котором вы используете переменные.В следующем примере PHP преобразует строку в число и использует это число для вычислений:

                  $ x = 20;

                  $ y = ’10’; // строка

                  $ z = $ x + $ y; // $ y преобразуется в целое число

                  echo $ z; // 30

                  Однако из соображений безопасности вы должны привести тип данных переменной к желаемому типу данных перед ее использованием. Чтобы заставить PHP использовать переменную как определенный тип, вы помещаете имя желаемого типа данных в скобки перед переменной.Это известно как отливка типа . Взгляните на следующий пример:

                  Взгляните на следующий пример:

                  $ x = 20;

                  $ y = ’10’; // строка

                  $ z = $ x + (int) $ y; // преобразование $ y в целое число

                  echo $ z; // 30

                  Обратите внимание, что тип данных переменной $ y не изменяется. Чтобы изменить тип данных переменной, вы используете функцию settype () , которую мы обсудим через несколько секунд.

                  Поиск типов данных переменных

                  PHP предоставляет встроенную функцию gettype () , которая возвращает тип данных переменной. Функция gettype () принимает переменную в качестве параметра и возвращает ее тип данных. В следующем примере показано, как использовать

                  В следующем примере показано, как использовать функцию gettype () :

                  $ int = 10; // целое число

                  $ str = ‘это строка’; // строка

                  $ bool = true; // логическое значение

                  $ d = 3.14; // float

                  echo gettype ($ int), ‘
                  ‘;

                  echo gettype ($ str), ‘& l

                  .

                  Функции обработки переменных PHP

                  с плавающей запятой.

                  Функция Описание
                  булвал () Возвращает логическое значение переменной
                  debug_zval_dump () Выводит строковое представление внутреннего значения zend на вывод
                  двойные () Псевдоним floatval ()
                  пустой () Проверяет, пуста ли переменная
                  с плавающей запятой () Возвращает значение переменной
                  get_defined_vars () Возвращает все определенные переменные в виде массива
                  get_resource_type () Возвращает тип ресурса
                  gettype () Возвращает тип переменной
                  интервал () Возвращает целое значение переменной
                  is_array () Проверяет, является ли переменная массивом
                  is_bool () Проверяет, является ли переменная логической
                  is_callable () Проверяет, можно ли вызвать содержимое переменной как функцию
                  is_countable () Проверяет, является ли содержимое переменной счетным значением
                  is_double () Псевдоним is_float ()
                  is_float () Проверяет, имеет ли переменная тип float
                  is_int () Проверяет, имеет ли переменная целочисленный тип
                  is_integer () Псевдоним is_int ()
                  is_iterable () Проверяет, является ли содержимое переменной повторяющимся значением
                  is_long () Псевдоним is_int ()
                  is_null () Проверяет, является ли переменная NULL
                  is_numeric () Проверяет, является ли переменная числом или числовой строкой
                  is_object () Проверяет, является ли переменная объектом
                  is_real () Псевдоним is_float ()
                  is_resource () Проверяет, является ли переменная ресурсом
                  is_scalar () Проверяет, является ли переменная скаляром
                  is_string () Проверяет, имеет ли переменная строка типа
                  исет () Проверяет, установлена ​​ли переменная (объявлена, а не NULL)
                  print_r () Печатает информацию о переменной в удобочитаемом виде
                  сериализовать () Преобразует сохраняемое представление значения
                  набор () Преобразует переменную в конкретный тип
                  стрвал () Возвращает строковое значение переменной
                  десериализовать () Преобразует сериализованные данные обратно в фактические данные
                  отключено () Сбрасывает переменную
                  var_dump () Выводит информацию об одной или нескольких переменных
                  var_export () Возвращает структурированную информацию (действительный код PHP) о переменной

                  .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2021 © Все права защищены. Карта сайта