Справка - что означает этот символ в PHP?

Что это?

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

Почему это?

Раньше было сложно найти вопросы об операторах и других токенах синтаксиса.
Основная идея состоит в том, чтобы иметь ссылки на существующие вопросы по Stack Overflow, чтобы нам было проще ссылаться на них, а не копировать контент из Руководство по PHP.

Примечание. С января 2013 года Stack Overflow поддерживает специальные символы . Просто заключите поисковые запросы в кавычки, например [php] "==" vs "==="

Что мне здесь делать?

Если кто-то указал на вас здесь, потому что вы задали такой вопрос, пожалуйста, найдите конкретный синтаксис ниже. Связанные страницы с руководством по PHP вместе со связанными вопросами, скорее всего, ответят на ваш вопрос. Если это так, вы можете проголосовать за ответ. Этот список не предназначен для замены помощи, предоставляемой другими.

Список

Если ваш конкретный токен не указан ниже, вы можете найти его в списке токенов парсера .


& Побитовые операторы или Ссылки


=& Ссылки


&= Побитовые операторы


&& Логические операторы


% Арифметические операторы


!! Логические операторы


@ Операторы контроля ошибок


?: Тернарный оператор


?? Null Coalesce Operator (начиная с PHP 7)


?string ?int ?array ?bool ?float объявление возвращаемого типа, допускающего значение NULL (начиная с PHP 7.1 )


: Альтернативный синтаксис для структур управления, Тернарный оператор, Объявление типа возвращаемого значения


:: Оператор разрешения области действия


\ Пространства имен


-> Классы и объекты


=> Массивы


^ Побитовые операторы


>> Побитовые операторы


<< Побитовые операторы


<<< Heredoc или Nowdoc


= Операторы присвоения


== Операторы сравнения


=== Операторы сравнения


!== Операторы сравнения


!= Операторы сравнения


<> Операторы сравнения


<=> Операторы сравнения (начиная с PHP 7.0)


| Побитовые операторы


|| Логические операторы


~ Побитовые операторы


+ Арифметические операторы, Операторы массивов


+= и -= Операторы присваивания


++ и -- Операторы увеличения / уменьшения


.= Операторы присвоения


. Строковые операторы


, аргументы функций

, Объявления переменных


$$ переменные-переменные


` Оператор выполнения


<?= Короткие открытые теги


[] Массивы (короткий синтаксис, начиная с PHP 5.4)


<? Открывающие и закрывающие теги


... Распаковка аргументов (начиная с PHP 5.6)


** Exponentiation (начиная с PHP 5.6)


# однострочный комментарий в стиле оболочки


?-> Вызовы оператора NullSafe (начиная с PHP 8.0)



person Community    schedule 17.09.2010    source источник
comment
Я знаю, что это не строго PHP, но как насчет включения ссылки на phpdoc.org для синтаксиса комментариев phpDocumentor? , который часто используется, а также невозможно найти /**?   -  person Mike    schedule 21.08.2011
comment
Могу я предложить квадратную скобку и фигурную скобку?   -  person ajreal    schedule 26.11.2011
comment
Я тоже часто сталкивался с этой проблемой (не могу искать специальные символы), поэтому я сделал SymbolHound , поисковая система, не игнорирующая специальные символы. Я также разместил его в StackApps.   -  person dncrane    schedule 06.12.2011
comment
Судя по заголовку Почему это?, я бы предположил, что это потому, что основная идея состоит в том, чтобы иметь ссылки на существующие вопросы в Stack Overflow, чтобы нам было легче ссылаться на них.   -  person Herbert    schedule 26.08.2012
comment
Удивительный пост. Даже будучи старшим php-разработчиком, на него очень удобно ссылаться, когда мне нужно устно объяснить что-то своей команде.   -  person Josh    schedule 26.08.2014
comment
Должны ли мы добавить этот? Это не синтаксис, но так же сложно гуглить, и некоторым людям он может показаться синтаксисом.   -  person Martin Ender    schedule 05.11.2014
comment
Сегодня (20 ноября / 15 ноября) был задан вопрос stackoverflow.com/questions/33833259/what- is-rscat-in-php с вопросом Что такое $ rsCat в php (следует ли сделать этот вопрос видимым и не удалить). Как ни странно, здесь нет упоминания о $ переменной, а только о $$ переменных. Я считаю, что это нужно где-то поправить.   -  person Funk Forty Niner    schedule 20.11.2015
comment
На днях я наткнулся на это: |=   -  person Typel    schedule 05.12.2015
comment
@Typeless вы имели в виду stackoverflow.com/questions/3362626/?   -  person Gordon    schedule 06.12.2015
comment
@Гордон. Нет, я действительно видел это в популярном классе PasswordHash. Полная строка выглядит так: $diff |= ord($a[$i]) ^ ord($b[$i]);   -  person Typel    schedule 08.12.2015
comment
@davejal: Убедитесь, что тег применяется, а не просто добавляете его вслепую.   -  person Deduplicator    schedule 16.01.2016
comment
@dncrane - мне не удалось найти ... javascript (распространение / отдых) rainsoft.io/how -three-dots-changed-javascript   -  person mplungjan    schedule 01.09.2017
comment
@Gordon Я недавно закрыл этот вопрос и хотел использовать этот вопрос и ответ, чтобы закрыть его, однако ? символ строки запроса не ' т включен здесь. Я закрыл этот вопрос двумя другими вопросами, которые непосредственно касаются его. Считаете ли вы, что это должно быть добавлено сюда в этом вопросе и ответе?   -  person Funk Forty Niner    schedule 18.09.2017
comment
@Gordon The ... Аргумент распаковки (начиная с PHP 5.6) гиперссылка для wiki.php.net/rfc/argument_unpacking для меня сегодня отображается как 502 Bad Gateway в некоторых браузерах. Возможно, вы захотите изучить это, и я не уверен, видели ли вы мой предыдущий комментарий чуть выше этого за несколько дней до этого. Я видел этот вопрос сегодня и собирался закрыть вопрос этим, но не могу, так как ссылка недействительна. Теперь.   -  person Funk Forty Niner    schedule 20.09.2017
comment
@ Fred-ii- 1. Давайте придерживаться только синтаксиса PHP, ? в URL не имеет отношения. 2. Это вики сообщества, редактируйте / добавляйте по мере необходимости.   -  person deceze♦    schedule 20.09.2017
comment
@deceze Понятно. Хорошо, хорошо, если это не связано, тогда (я) не должен добавлять к нему, верно? Изменить: я вижу, вы исправили ссылку для ссылки ....   -  person Funk Forty Niner    schedule 20.09.2017
comment
Вот названия всех операторов PHP (TOKEN). Ссылка php.net/manual/en/tokens.php ! [введите описание изображения здесь] (i.stack.imgur.com/P5ilY.jpg)   -  person Mahmoud Zalt    schedule 23.11.2017


Ответы (20)


Операторы увеличения / уменьшения

++ оператор увеличения

-- оператор декремента

Example    Name              Effect
---------------------------------------------------------------------
++$a       Pre-increment     Increments $a by one, then returns $a.
$a++       Post-increment    Returns $a, then increments $a by one.
--$a       Pre-decrement     Decrements $a by one, then returns $a.
$a--       Post-decrement    Returns $a, then decrements $a by one.

Они могут идти до или после переменной.

Если поставить перед переменной, операция увеличения / уменьшения выполняется с переменной первой, после чего возвращается результат. Если поставить после переменной, переменная возвращается первой, затем выполняется операция увеличения / уменьшения.

Например:

$apples = 10;
for ($i = 0; $i < 10; ++$i) {
    echo 'I have ' . $apples-- . " apples. I just ate one.\n";
}

Живой пример

В приведенном выше случае используется ++$i, поскольку он быстрее. $i++ даст такие же результаты.

Предварительное приращение выполняется немного быстрее, потому что оно действительно увеличивает переменную и после этого «возвращает» результат. Постинкремент создает специальную переменную, копирует туда значение первой переменной и только после использования первой переменной заменяет ее значение на вторую.

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

Вы также можете увеличивать буквы в PHP:

$i = "a";
while ($i < "c") {
    echo $i++;
}

Когда будет достигнуто z, следующим будет aa и так далее.

Обратите внимание, что символьные переменные можно увеличивать, но не уменьшать, и даже в этом случае поддерживаются только простые символы ASCII (a-z и A-Z).


Сообщения о переполнении стека:

person Community    schedule 17.09.2010
comment
Ради всего святого, удалите выделенную жирным шрифтом информацию о том, что предварительное приращение происходит бесконечно быстрее. Это наихудший пример преждевременной оптимизации, и такая информация не должна быть в головах людей, если они только начинают изучать PHP. - person Lotus Notes; 09.12.2010
comment
@Lotus - я считаю это забавным фактом. Если вы новичок в PHP, C ++ и т. Д., Кажется довольно странным, что ++ i и i ++ достаточно разные, чтобы работать с разной скоростью. Я нашел это увлекательным. - person Peter Ajtai; 09.12.2010
comment
@Peter Ajtai: Да, это интересно, но судя по тому, как вы структурировали свой пост, вы делаете его одним из главных фактов PHP, который абсолютно необходим для использования языка. - person Lotus Notes; 09.12.2010

Побитовый оператор

Что немного? Бит - это представление 1 или 0. Обычно ВЫКЛ (0) и ВКЛ (1)

Что такое байт? Байт состоит из 8 бит, а максимальное значение байта равно 255, что означает, что каждый бит установлен. Мы посмотрим, почему максимальное значение байта равно 255.

-------------------------------------------
|      1 Byte ( 8 bits )                  |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|     
-------------------------------------------

Это представление 1 байта

1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 байт)

Несколько примеров для лучшего понимания

Оператор «И»: &

$a =  9;
$b = 10;
echo $a & $b;

Это выведет число 8. Почему? Что ж, давайте посмотрим на нашем примере таблицы.

-------------------------------------------
|      1 Byte ( 8 bits )                  |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|     
-------------------------------------------
|      $a    |   0|  0|  0|  0| 1| 0| 0| 1|    
-------------------------------------------
|      $b    |   0|  0|  0|  0| 1| 0| 1| 0|
------------------------------------------- 
|      &     |   0|  0|  0|  0| 1| 0| 0| 0|
------------------------------------------- 

Таким образом, вы можете видеть из таблицы, что единственный бит, который они разделяют, - это 8 бит.

Второй пример

$a =  36;
$b = 103;
echo $a & $b; // This would output the number 36.
$a = 00100100
$b = 01100111

Два общих бита - 32 и 4, которые при сложении возвращают 36.

Оператор "Или": |

$a =  9;
$b = 10;
echo $a | $b;

Это выведет число 11. Почему?

-------------------------------------------
|      1 Byte ( 8 bits )                  |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|     
-------------------------------------------
|      $a    |   0|  0|  0|  0| 1| 0| 0| 1|    
-------------------------------------------
|      $b    |   0|  0|  0|  0| 1| 0| 1| 0|
------------------------------------------- 
|      |     |   0|  0|  0|  0| 1| 0| 1| 1|
-------------------------------------------

Вы заметите, что у нас установлено 3 бита в столбцах 8, 2 и 1. Сложите их: 8 + 2 + 1 = 11.

person Community    schedule 31.10.2012
comment
Что, если $ a принимает значение больше 255? - person Aycan Yaşıt; 28.09.2013
comment
@ AycanYaşıt Большая часть операционной системы использует 32-битную и 64-битную системы, это означает, что ограничение намного превышает 255 (8 бит). - person AlbertSamuel; 17.05.2016
comment
@ AycanYaşıt На самом деле представление здесь с длиной в один байт даже неверно, так как даже самое маленькое целое число по-прежнему 64-битное (8 байт) в памяти на современной 64-битной платформе. - person Kaii; 17.04.2018
comment
Почему and & равно 0 0 0 0 1 0 0 0, а or | равно 0 0 0 0 1 0 1 1? - person Vi_real; 14.02.2019

<=> Оператор космического корабля

Добавлено в PHP 7

оператор космического корабля <=> - это последний оператор сравнения, добавленный в PHP 7. Это не -ассоциативный бинарный оператор с тем же приоритетом, что и операторы равенства (==, !=, ===, !==). Этот оператор позволяет упростить трехстороннее сравнение левого и правого операндов.

Результатом оператора является целочисленное выражение:

  • 0 когда оба операнда равны
  • Менее 0, когда левый операнд меньше правого операнда
  • Больше, чем 0, когда левый операнд больше правого операнда

e.g.

1 <=> 1; // 0
1 <=> 2; // -1
2 <=> 1; // 1

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

До PHP 7 вы писали ...

$arr = [4,2,1,3];

usort($arr, function ($a, $b) {
    if ($a < $b) {
        return -1;
    } elseif ($a > $b) {
        return 1;
    } else {
        return 0;
    }
});

Начиная с PHP 7 вы можете писать ...

$arr = [4,2,1,3];

usort($arr, function ($a, $b) {
    return $a <=> $b;
    // return -1 * ($a <=> $b); // for reversing order
});
person Community    schedule 08.07.2015
comment
Не уверен, чем $a <=> $b отличается от $a - $b - person rev; 28.08.2015
comment
@AcidShout $a - $b работает для чисел, но не для строк, объектов или массивов. - person mcrumley; 25.09.2015
comment
@mcrumley Нет, это еще хуже. В общем $a - $b даже не работает для чисел; он работает только для целых чисел. Это не работает для нецелых чисел, потому что usort приводит возвращаемые значения вашей функции компаратора к int, что означает, что 0,5 приводится к 0, что означает, что два числа с разницей менее 1, например 4 и 4,6, могут (в зависимости от того, какой из них передается в качестве первого аргумента вашей функции компаратора) неправильно сравнивать как равные. - person Mark Amery; 05.11.2015
comment
Шериф, зачем утверждать, что оператор возвращает меньше 0, 0 или больше 0, а не просто заявлять, что он возвращает 1, 0 или -1? Последнее является более точным и лаконичным; Я не понимаю, почему вы вернули эту деталь моего редактирования. - person Mark Amery; 15.01.2016
comment
Кстати, до PHP7 все еще существовал способ избежать блока if-else, который работал не только с числами: return $a < $b ? -1 : $a != $b; - person Alma Do; 15.01.2016
comment
@MarkAmery Потому что это задокументированное поведение. - person Sherif; 20.01.2016
comment
@Sherif php.net/manual/en/migration70.new-features.php документирует это как 1 / 0 / -1, не говоря уже о том, что исходный RFC сделал то же самое. Я думаю, что это достаточная документация, чтобы оправдать включение здесь той же детали, и пока я откатился назад; не стесняйтесь откатывать назад и продолжать этот аргумент, если вы все еще не согласны. - person Mark Amery; 20.01.2016
comment
@MarkAmery руководство по миграции не является документированным поведением оператора. Для этого вам нужно посмотреть раздел языковых операторов в руководстве для этого php.net/language. operator.comparison реальное поведение, стоящее за этим, зависит от различных функций сравнения API, например, когда вы выполняете strcmp для строк, где вы не можете гарантировать фактическое возвращаемое значение в каждом отдельном случае. Конечно, это почти всегда 1, 0 или -1, но в тех случаях, когда вы не можете гарантировать это, например, обертывание strcmp libc, вы предлагаете то же определенное поведение, что и базовая спецификация, чтобы быть в безопасности. - person Sherif; 21.01.2016
comment
@MarkAmery Дело здесь в том, чтобы не позволять людям полагаться на неопределенное поведение. В одном случае, когда кто-то получает значение, отличное от 1, 0 или -1, вы заставляете кого-то заполнять отчет об ошибке, думая, что с языком что-то не так. Вот почему мы документируем, что все, что мы можем гарантировать, это то, что значение будет меньше, больше или равно 0, и не обязательно 1, 0 и -1. - person Sherif; 21.01.2016

_ Псевдоним для gettext ()

Символ подчеркивания «_», как в _(), является псевдонимом функции gettext().

person Community    schedule 29.11.2012
comment
Есть идеи, что такое функция двойного подчеркивания? __(). Используется в WordPress. Я не могу найти ему определение нигде. Пример использования: core .trac.wordpress.org / browser / tags / 5.4 / src / wp-admin / includes /. Кажется, что для использования фильтра WP image_size_names_choose() необходимо использовать __() для добавления короткого имени в массив named_sizes, который вы хотите добавить. - person SherylHohman; 01.07.2020
comment
@SherylHohman Похоже, это функция перевода. developer.wordpress.org/reference/functions/__ - person Mohammed H; 02.07.2020
comment
Огромное спасибо! Я завидую вашим превосходным навыкам в Google (и обширным знаниям в программировании) :-) - person SherylHohman; 03.07.2020

Магические константы. Хотя это не просто символы, это важная часть семейства токенов. Есть восемь магических констант, которые меняются в зависимости от того, где они используются.

__LINE__: номер текущей строки файла.

__FILE__: полный путь и имя файла. Если используется внутри включения, возвращается имя включенного файла. Начиная с PHP 4.0.2, __FILE__ всегда содержит абсолютный путь с разрешенными символическими ссылками, тогда как в более старых версиях он содержал относительный путь при некоторых обстоятельствах.

__DIR__: каталог файла. Если используется внутри включения, возвращается каталог включенного файла. Это эквивалент dirname(__FILE__). Это имя каталога не имеет косой черты в конце, если это не корневой каталог. (Добавлено в PHP 5.3.0.)

__FUNCTION__: Имя функции. (Добавлено в PHP 4.3.0) Начиная с PHP 5, эта константа возвращает имя функции в том виде, в котором оно было объявлено (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре.

__CLASS__: имя класса. (Добавлено в PHP 4.3.0) Начиная с PHP 5 эта константа возвращает имя класса в том виде, в котором оно было объявлено (с учетом регистра). В PHP 4 его значение всегда в нижнем регистре. Имя класса включает пространство имен, в котором он был объявлен (например, Foo\Bar). Обратите внимание, что начиная с PHP 5.4 __CLASS__ также работает с типажами. При использовании в методе признака __CLASS__ - это имя класса, в котором используется признак.

__TRAIT__: Название трейта. (Добавлено в PHP 5.4.0) Начиная с PHP 5.4 эта константа возвращает признак в том виде, в каком он был объявлен (с учетом регистра). Имя признака включает пространство имен, в котором оно было объявлено (например, Foo\Bar).

__METHOD__: имя метода класса. (Добавлено в PHP 5.0.0) Имя метода возвращается в том виде, в котором оно было объявлено (с учетом регистра).

__NAMESPACE__: имя текущего пространства имен (с учетом регистра). Эта константа определяется во время компиляции (добавлено в PHP 5.3.0).

Источник

person Community    schedule 24.04.2013

Типовые операторы

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

<?php
class mclass { }
class sclass { }
$a = new mclass;
var_dump($a instanceof mclass);
var_dump($a instanceof sclass);

Приведенный выше пример выведет:

bool(true)
bool(false)

Причина: Пример выше $a является объектом mclass, поэтому используйте только данные mclass, а не экземпляр sclass

Пример с наследованием

<?php 
class pclass { } 
class childclass extends pclass { } 
$a = new childclass; 
var_dump($a instanceof childclass); 
var_dump($a instanceof pclass);

Приведенный выше пример выведет:

bool(true)
bool(true)

Пример с клоном

<?php 
class cloneable { } 
$a = new cloneable;
$b = clone $a; 
var_dump($a instanceof cloneable); 
var_dump($b instanceof cloneable);

Приведенный выше пример выведет:

bool(true)
bool(true)
person Community    schedule 31.10.2013
comment
Вышеупомянутое также работает с «интерфейсами». Это полезно для проверки доступности определенного интерфейса. - person Ryan Vincent; 24.02.2014

Обзор операторов в PHP:


Логические операторы:

  • $ a && $ b: ИСТИНА, если и $ a, и $ b имеют значение ИСТИНА.
  • $ a || $ b: ИСТИНА, если $ a или $ b ИСТИНА.
  • $ a xor $ b: TRUE, если значение $ a или $ b истинно, но не оба одновременно.
  • ! $ a: ИСТИНА, если $ a не ИСТИНА.
  • $ a и $ b: ИСТИНА, если и $ a, и $ b имеют значение ИСТИНА.
  • $ a или $ b: ИСТИНА, если $ a или $ b - ИСТИНА.

Операторы сравнения:

  • $ a == $ b: ИСТИНА, если $ a равно $ b после манипуляции типом.
  • $ a === $ b: ИСТИНА, если $ a равно $ b, и они одного типа.
  • $ a! = $ b: ИСТИНА, если $ a не равно $ b после манипуляции типом.
  • $ a ‹› $ b: ИСТИНА, если $ a не равно $ b после манипуляции типом.
  • $ a! == $ b: ИСТИНА, если $ a не равно $ b или они не одного типа.
  • $ a ‹$ b: ИСТИНА, если $ a строго меньше $ b.
  • $ a ›$ b: ИСТИНА, если $ a строго больше $ b.
  • $ a ‹= $ b: ИСТИНА, если $ a меньше или равно $ b.
  • $ a ›= $ b: ИСТИНА, если $ a больше или равно $ b.
  • $ a ‹=› $ b: целое число меньше, равно или больше нуля, когда $ a соответственно меньше, равно или больше $ b. Доступно с PHP 7.
  • $ a? $ b: $ c: если $ a return $ b else return $ c ( тернарный оператор)
  • $ a ?? $ c: То же, что и $ a? $ a: $ c (нулевое объединение оператор - требуется PHP ›= 7)

Арифметические операторы:

  • - $ a: противоположно $ a.
  • $ a + $ b: сумма $ a и $ b.
  • $ a - $ b: разница между $ a и $ b.
  • $ a * $ b: произведение $ a и $ b.
  • $ a / $ b: отношение $ a и $ b.
  • $ a% $ b: остаток от $ a, деленный на $ b.
  • $ a ** $ b: результат возведения $ a в $ b-ю степень (введено в PHP 5.6).

Операторы увеличения / уменьшения:

  • ++ $ a: увеличивает $ a на единицу, затем возвращает $ a.
  • $ a ++: возвращает $ a, затем увеличивает $ a на единицу.
  • - $ a: уменьшает $ a на единицу, затем возвращает $ a.
  • $ a--: возвращает $ a, затем уменьшает $ a на единицу.

Побитовые операторы:

  • $ a & $ b: установлены биты, которые установлены как в $ a, так и в $ b.
  • $ a | $ b: устанавливаются биты, которые установлены в $ a или $ b.
  • $ a ^ $ b: биты, которые установлены в $ a или $ b, но не оба установлены.
  • ~ $ a: биты, заданные в $ a, не устанавливаются, и наоборот.
  • $ a ‹< $ b: сдвиньте биты шагов $ a $ b влево (каждый шаг означает умножение на два)
  • $ a ›› $ b: сдвиньте биты шагов $ a $ b вправо (каждый шаг означает деление на два).

Строковые операторы:

  • $ a. $ b: соединение $ a и $ b.

Операторы массива:

  • $ a + $ b: союз $ a и $ b.
  • $ a == $ b: ИСТИНА, если $ a и $ b имеют одинаковые пары ключ / значение.
  • $ a === $ b: TRUE, если $ a и $ b имеют одинаковые пары ключ / значение в одном порядке и одного типа.
  • $ a! = $ b: ИСТИНА, если $ a не равно $ b.
  • $ a ‹› $ b: ИСТИНА, если $ a не равно $ b.
  • $ a! == $ b: ИСТИНА, если $ a не совпадает с $ b.

Операторы присвоения:

  • $ a = $ b: значение $ b присваивается $ a
  • $ a + = $ b: то же самое, что и $ a = $ a + $ b.
  • $ a - = $ b: то же самое, что и $ a = $ a - $ b.
  • * $ a = $ b: то же, что и $ a = $ a * $ b.
  • $ a / = $ b: то же самое, что и $ a = $ a / $ b.
  • $ a% = $ b: то же самое, что и $ a = $ a% $ b.
  • ** $ a = $ b: то же самое, что и $ a = $ a ** $ b.
  • $ a. = $ b: то же самое, что и $ a = $ a. $ млрд
  • $ a & = $ b: то же самое, что и $ a = $ a & $ b.
  • $ a | = $ b: то же самое, что и $ a = $ a | $ млрд
  • $ a ^ = $ b: то же, что и $ a = $ a ^ $ b.
  • $ a ‹< = $ b: то же самое, что и $ a = $ a ‹** $ b
  • $ a ›› = $ b: то же, что и $ a = $ a ›› $ b.
  • $ a ?? = $ b: значение $ b присваивается $ a, если $ a имеет значение null или не определено ( оператор присваивания слияния null - требуется PHP› = 7,4)

Примечание

Операторы and и or имеют более низкий приоритет, чем оператор присваивания =.

Это означает, что $a = true and false; эквивалентно ($a = true) and false.

В большинстве случаев вы, вероятно, захотите использовать && и ||, которые ведут себя способом, известным из таких языков, как C, Java или JavaScript.

person Community    schedule 18.01.2016
comment
В $a ?? $c есть ошибка, он говорит, что это то же самое, что и $a ? $a : $c, но тернарный оператор проверяет, истинно ли значение, с другой стороны, объединение null проверяет нулевые значения, поэтому, если $ a равно 0, вы получите 0 (потому что 0 не является нулем), например, если у вас есть: $a=0; $c=5;, тогда $a?$a:$c возвращает 5, а $a??$c возвращает 0. - person stramin; 29.07.2019

Оператор космического корабля <=> (добавлено в PHP 7)

Примеры для <=> оператора космического корабля (PHP 7, Источник: Руководство по PHP):

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

// Integers
echo 10 <=> 10; // 0
echo 10 <=> 20; // -1
echo 20 <=> 10; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
// Comparison is case-sensitive
echo "B" <=> "a"; // -1

echo "a" <=> "aa"; // -1
echo "zz" <=> "aa"; // 1

// Arrays
echo [] <=> []; // 0
echo [1, 2, 3] <=> [1, 2, 3]; // 0
echo [1, 2, 3] <=> []; // 1
echo [1, 2, 3] <=> [1, 2, 1]; // 1
echo [1, 2, 3] <=> [1, 2, 4]; // -1

// Objects
$a = (object) ["a" => "b"]; 
$b = (object) ["a" => "b"]; 
echo $a <=> $b; // 0

$a = (object) ["a" => "b"]; 
$b = (object) ["a" => "c"]; 
echo $a <=> $b; // -1

$a = (object) ["a" => "c"]; 
$b = (object) ["a" => "b"]; 
echo $a <=> $b; // 1

// only values are compared
$a = (object) ["a" => "b"]; 
$b = (object) ["b" => "b"]; 
echo $a <=> $b; // 1
person Community    schedule 11.10.2015

{} Фигурные скобки

И несколько слов о последнем посте

$x[4] = 'd'; // it works
$x{4} = 'd'; // it works

$echo $x[4]; // it works
$echo $x{4}; // it works

$x[] = 'e'; // it works
$x{} = 'e'; // does not work

$x = [1, 2]; // it works
$x = {1, 2}; // does not work

echo "${x[4]}"; // it works
echo "${x{4}}"; // does not work

echo "{$x[4]}"; // it works
echo "{$x{4}}"; // it works
person Community    schedule 23.11.2015
comment
Обозначение {''} для имен свойств. echo $ movies- ›фильм -› {'great-lines'} - ›линия; может использоваться для доступа к данным в SimpleXMLElement. Может быть, его можно использовать и в других случаях. php.net/manual/en/simplexml.examples-basic.php - person Andrei; 05.09.2017

Оператор объединения с нулевым значением (??)

Этот оператор был добавлен в PHP 7.0 для общего случая необходимости использования тернарного оператора в сочетании с isset(). Он возвращает свой первый операнд, если он существует, а не NULL; в противном случае он возвращает свой второй операнд.

<?php
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
?>
person Community    schedule 31.10.2016

Строки PHP: Строки PHP можно указать четырьмя способами, а не только двумя:

1) Строки с одинарными кавычками:

$string = 'This is my string'; // print This is my string

2) Строки с двойными кавычками:

$str = 'string';

$string = "This is my $str"; // print This is my string

3) Heredoc:

$string = <<<EOD
This is my string
EOD; // print This is my string

4) Nowdoc (начиная с PHP 5.3.0):

$string = <<<'END_OF_STRING'
    This is my string 
END_OF_STRING; // print This is my string
person Community    schedule 17.12.2015
comment
@ Rizier123: То, что означает Heredocs, нельзя использовать для инициализации свойств класса. Начиная с PHP 5.3, это ограничение действует только для heredocs, содержащих переменные.? - person PHPFan; 26.11.2017

ВОПРОС:

Что значит =>?


ОТВЕТ:

=> Это символ, который мы, люди, решили использовать для разделения "Key" => "Value" пар в ассоциативных массивах.

РАЗРАБОТКА:

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

$myArray1 = array(2016, "hello", 33);//option 1

$myArray2 = [2016, "hello", 33];//option 2

$myArray3 = [];//option 3
$myArray3[] = 2016; 
$myArray3[] = "hello"; 
$myArray3[] = 33;

Если бы мы хотели вызвать массив в какой-то более поздней части кода, мы могли бы сделать:

echo $myArray1[1];// output: hello
echo $myArray2[1];// output: hello
echo $myArray3[1];// output: hello

Все идет нормально. Однако, как люди, нам может быть трудно вспомнить, что индекс [0] массива - это значение года 2016, индекс [1] массива - это приветствие и индекс [2] массива - это простое целочисленное значение. Тогда у нас будет альтернатива - использовать так называемый ассоциативный массив. Ассоциативный массив имеет несколько отличий от Последовательного массива (, чем были предыдущие случаи, поскольку они увеличивают индекс, используемый в заранее определенной последовательности, путем увеличения на 1 для каждого следующего значения ).

Различия (между последовательным и ассоциативным массивом):

  • Во время объявления ассоциативного массива вы не только включаете value того, что вы хотите поместить в массив, но также помещаете значение индекса (называемое key), которое вы хотите использовать при вызове массива в более поздних частях. кода. При объявлении используется следующий синтаксис: "key" => "value".

  • При использовании ассоциативного массива значение key будет помещено в индекс массива для получения желаемого value.

Например:

$myArray1 = array( 
    "Year" => 2016, 
    "Greetings" => "hello", 
    "Integer_value" => 33);//option 1

$myArray2 = [ 
    "Year" =>  2016, 
    "Greetings" => "hello", 
    "Integer_value" => 33];//option 2

$myArray3 = [];//option 3
$myArray3["Year"] = 2016; 
$myArray3["Greetings"] = "hello"; 
$myArray3["Integer_value"] = 33;

И теперь, чтобы получить тот же результат, что и раньше, значение key будет использоваться в индексе массивов:

echo $myArray1["Greetings"];// output: hello
echo $myArray2["Greetings"];// output: hello
echo $myArray3["Greetings"];// output: hello

ЗАКЛЮЧИТЕЛЬНАЯ ТОЧКА:

Итак, из приведенного выше примера довольно легко увидеть, что символ => используется для выражения отношения ассоциативного массива между каждой из пар key и value в массиве ВО ВРЕМЯ инициализации значений. внутри массива.

person Community    schedule 12.06.2016

Вопрос:

Что означает «&» в PHP?

Оператор PHP "&"

Делает жизнь проще, когда мы к этому привыкаем ... (внимательно проверьте пример ниже)

& обычно проверяет, установлены ли биты, которые установлены как в $ a, так и в $ b.

Вы даже заметили, как работают эти звонки?

   error_reporting(E_ERROR | E_WARNING | E_PARSE);
    error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
    error_reporting(E_ALL & ~E_NOTICE);
    error_reporting(E_ALL);

Итак, за всем вышесказанным стоит игра с поразрядным оператором и битами.

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

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

Пример, который вам понравится

<?php

class Config {

    // our constants must be 1,2,4,8,16,32,64 ....so on
    const TYPE_CAT=1;
    const TYPE_DOG=2;
    const TYPE_LION=4;
    const TYPE_RAT=8;
    const TYPE_BIRD=16;
    const TYPE_ALL=31;

    private $config;

    public function __construct($config){
        $this->config=$config;

        if($this->is(Config::TYPE_CAT)){
            echo 'cat ';
        }
        if($this->is(Config::TYPE_DOG)){
            echo 'dog ';
        }
        if($this->is(Config::TYPE_RAT)){
            echo 'rat ';
        }
        if($this->is(Config::TYPE_LION)){
            echo 'lion ';
        }
        if($this->is(Config::TYPE_BIRD)){
            echo 'bird ';
        }
        echo "\n";
    }

    private function is($value){
        return $this->config & $value;
    }
}

new Config(Config::TYPE_ALL);
// cat dog rat lion bird
new Config(Config::TYPE_BIRD);
//bird
new Config(Config::TYPE_BIRD | Config::TYPE_DOG);
//dog bird
new Config(Config::TYPE_ALL & ~Config::TYPE_DOG & ~Config::TYPE_CAT);
//rat lion bird
person Community    schedule 18.03.2017

== используется для проверки равенства без учета переменной типа данных

=== используется для проверки равенства для обоих значения значения и типа данных.

Пример

$a = 5

  1. if ($a == 5) - вернет истину

  2. if ($a == '5') - будет оцениваться как истина, потому что при сравнении этого значения PHP внутренне преобразует это строковое значение в целое число, а затем сравнивает оба значения

  3. if ($a === 5) - вернет истину

  4. if ($a === '5') - будет иметь значение false, потому что значение равно 5, но это значение 5 не является целым числом.

person Community    schedule 03.10.2017

Оператор Null Coalesce "??" (Добавлено в PHP 7)

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

В PHP 5 у нас уже есть тернарный оператор, который проверяет значение, а затем возвращает второй элемент, если он возвращает true, и третий, если нет:

echo $count ? $count : 10; // outputs 10

Существует также сокращение для этого, которое позволяет пропустить второй элемент, если он совпадает с первым: echo $ count?: 10; // также выводит 10

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

// $a is not set
$b = 16;

echo $a ?? 2; // outputs 2
echo $a ?? $b ?? 7; // outputs 16

Эта конструкция полезна для предоставления приоритета одному или нескольким значениям, исходящим, возможно, из пользовательского ввода или существующей конфигурации, и безопасного возврата к заданному по умолчанию, если эта конфигурация отсутствует. Это своего рода небольшая функция, но я знаю, что буду использовать ее, как только мои приложения обновятся до PHP 7.

person Community    schedule 06.12.2017

Объявление типа возвращаемого значения, допускающего значение NULL

В PHP 7 добавлена ​​поддержка объявлений типа возвращаемого значения. Подобно объявлениям типов аргументов, объявления возвращаемых типов определяют тип значения, которое будет возвращено функцией. Для объявлений типа возвращаемого значения доступны те же типы, что и для объявлений типа аргумента.

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

Начиная с PHP 7.1.0, возвращаемые значения можно пометить как допускающие значение NULL, поставив перед именем типа вопросительный знак (?). Это означает, что функция возвращает либо указанный тип, либо NULL.

<?php
function get_item(): ?string {
    if (isset($_GET['item'])) {
        return $_GET['item'];
    } else {
        return null;
    }
}
?>

Источник

person Community    schedule 16.01.2019

Три точки как оператор Splat (...) (начиная с PHP 5.6)

В PHP есть оператор «...» (три точки), который называется оператором Splat. Он используется для передачи произвольного количества параметров в функции, и этот тип функции называется функциями с переменным числом аргументов. Давайте рассмотрим примеры использования "..." (три точки).

Пример 1:

<?php
function calculateNumbers(...$params){
    $total = 0;
    foreach($params as $v){
        $total = $total + $v;
    }
    return $total;
}

echo calculateNumbers(10, 20, 30, 40, 50);

//Output 150
?>

Каждый аргумент функции calculateNumbers () передается через $ params в виде массива при использовании «…».

Есть много разных способов использования оператора «…». Ниже приведены некоторые примеры:

Пример 2:

<?php
function calculateNumbers($no1, $no2, $no3, $no4, $no5){
    $total = $no1 + $no2 + $no3 + $no4 + $no5;
    return $total;
}

$numbers = array(10, 20, 30, 40, 50);
echo calculateNumbers(...$numbers);

//Output 150
?>

Пример 3:

<?php
function calculateNumbers(...$params){
    $total = 0;
    foreach($params as $v){
        $total = $total + $v;
    }
    return $total;
}
$no1 = 70;
$numbers = array(10, 20, 30, 40, 50);
echo calculateNumbers($no1, ...$numbers);

//Output 220
?>

Пример 4:

<?php
function calculateNumbers(...$params){
    $total = 0;
    foreach($params as $v){
        $total = $total + $v;
    }
    return $total;
}

$numbers1 = array(10, 20, 30, 40, 50);
$numbers2 = array(100, 200, 300, 400, 500);
echo calculateNumbers(...$numbers1, ...$numbers2);

//Output 1650

?>
person Community    schedule 30.09.2019
comment
[TODO] Включить новую функциональность в PHP8 для использования оператора splat с именованными параметрами ref: stackoverflow.com/a/64997399/2943403 - person mickmackusa; 14.12.2020

? - ›Оператор NullSafe

Добавлено в PHP 8.0

Это NullSafe Operator, он возвращает null, если вы пытаетесь вызвать функции или получить значения из null. Оператор Nullsafe может быть связан и использоваться как для методов, так и для свойств.

$objDrive = null;
$drive = $objDrive?->func?->getDriver()?->value; //return null
$drive = $objDrive->func->getDriver()->value; // Error: Trying to get property 'func' of non-object

Оператор Nullsafe не работает с ключами массива:

$drive['admin']?->getDriver()?->value //Warning: Trying to access array offset on value of type null

$drive = [];
$drive['admin']?->getAddress()?->value //Warning: Undefined array key "admin"
person Community    schedule 03.06.2020
comment
Добавление этого кажется преждевременным, никто не увидит этот оператор ни в каком живом коде, и, возможно, он даже не будет добавлен. Лучше дождаться окончательной доработки деталей и как следует задокументировать. - person IMSoP; 03.06.2020
comment
Мы уже получаем вопросы по этому поводу. : / Если предложение не сработает, мы можем решить, стоит ли его оставить. - person John Conde; 03.06.2020
comment
@JohnConde Я бы хотел закрыть их как не по теме, потому что они спрашивают о воображаемом языке программирования; или, возможно, этот вопрос относится к другой части шкалы времени, проверьте настройки на своей машине времени;) - person IMSoP; 03.06.2020
comment
lol Эта мысль пришла мне в голову. Я спросил себя, принесет ли это пользу будущим посетителям, и на данный момент ответ положительный. Но это может измениться ... - person John Conde; 03.06.2020
comment
@JohnConde Проблема в том, что мы пока не можем дать правильный ответ - фактическое поведение оператора может полностью измениться или никогда не быть добавлено, поэтому все, что мы пишем сейчас, может ввести в заблуждение с такой же вероятностью, как и информация. Единственный честный ответ - это синтаксическая ошибка, но есть вероятность, что она будет что-то значить в будущем. - person IMSoP; 03.06.2020
comment
Не могу сказать, что не согласен с вашей точкой зрения. Я согласен с этим в качестве ответа. - person John Conde; 03.06.2020
comment
@JohnConde. Предложение оператора Nullsafe принято и реализовано в PHP 8. Пожалуйста, обновите свой ответ. Также обновите ссылку RFC. - person Umair Khan; 21.09.2020

NullSafe Operator? - ›(возможно) начиная с php8

В PHP8 этот новый оператор был принят, документацию можно найти здесь. ?-> это NullSafe Operator, он возвращает null, если вы пытаетесь вызвать функции или получить значения из _4 _...

Примеры:

<?php
$obj = null;
$obj = $obj?->attr; //return null
$obj = ?->funct(); // return null
$obj = $objDrive->attr; // Error: Trying to get property 'attr' of non-object
?>
person Community    schedule 03.06.2020
comment
Добавление этого кажется преждевременным, никто не увидит этот оператор ни в каком живом коде, и, возможно, он даже не будет добавлен. Лучше дождаться окончательной доработки деталей и как следует задокументировать. - person IMSoP; 03.06.2020
comment
@IMSoP Я с вами, однако меня пригласили сделать это здесь stackoverflow.com/questions/62178354/ ... - person Alberto Sinigaglia; 03.06.2020
comment
Похоже, теперь у нас есть два ответа по этому поводу. Лично я бы просто проголосовал за закрытие другого вопроса, а не пытался бы ответить, потому что сейчас такого оператора нет. - person IMSoP; 03.06.2020
comment
@IMSoP, здесь, в StackOverflow, есть много вопросов о предложении C ++, и они не закрыты: несмотря на это, я с вами, что не размещать здесь этого оператора на данный момент - person Alberto Sinigaglia; 03.06.2020
comment
Я мало знаю о процессе C ++ и о том, когда разумно обсуждать предложения, и, честно говоря, этот вариант с большой вероятностью преуспеет в модификации тренировки, но в целом существует много функций, предлагаемых для PHP, который никогда не попадает в язык, и пользователям было бы довольно сложно встретить их все в списках литературы. Тем не менее, отчасти я здесь просто сварливый старик: P - person IMSoP; 03.06.2020
comment
Ахах @IMSoP, я здесь относительно новичок, я кодирую только в ближайшие 6 лет, так что я доверяю тебе, если ты скажешь мне, что это не его место, я его сниму - person Alberto Sinigaglia; 03.06.2020
comment
@ Berto99 Предложение Nullsafe operator принято и реализовано в PHP 8. Пожалуйста, обновите свой ответ. Также обновите ссылку RFC. - person Umair Khan; 21.09.2020

Массивы PHP:

Массив - это структура данных, которая хранит один или несколько аналогичных типов значений в одном значении.

• Числовой массив - массив с числовым индексом. Значения хранятся и доступны линейно.

• Ассоциативный массив - массив со строками в качестве индекса. При этом значения элементов хранятся вместе со значениями ключей, а не в строгом линейном порядке индекса.

• Многомерный массив - доступ к массиву, содержащему один или несколько массивов и значений, осуществляется с помощью нескольких индексов. Числовой массив.

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

Пример:

<html>
   <body>
   
      <?php
         /* First method to create array. */
         $numbers = array( 1, 2, 3, 4, 5);
         
         foreach( $numbers as $value ) {
            echo "Value is $value <br />";
         }
         
         /* Second method to create array. */
         $numbers[0] = "one";
         $numbers[1] = "two";
         $numbers[2] = "three";
         $numbers[3] = "four";
         $numbers[4] = "five";
         
         foreach( $numbers as $value ) {
            echo "Value is $value <br />";
         }
      ?>
      
   </body>
</html>

Вывод:

Value is 1 
Value is 2 
Value is 3 
Value is 4 
Value is 5 
Value is one 
Value is two 
Value is three 
Value is four 
Value is five

Ассоциативные массивы

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

Пример:

<html>
   <body>
      
      <?php
         /* First method to associate create array. */
         $salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);
         
         echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
         echo "Salary of qadir is ".  $salaries['qadir']. "<br />";
         echo "Salary of zara is ".  $salaries['zara']. "<br />";
         
         /* Second method to create array. */
         $salaries['mohammad'] = "high";
         $salaries['qadir'] = "medium";
         $salaries['zara'] = "low";
         
         echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
         echo "Salary of qadir is ".  $salaries['qadir']. "<br />";
         echo "Salary of zara is ".  $salaries['zara']. "<br />";
      ?>
   
   </body>
</html>

Вывод:

Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low

Многомерные массивы

Многомерный массив. Каждый элемент основного массива также может быть массивом. И каждый элемент в подмассиве может быть массивом и так далее. Доступ к значениям в многомерном массиве осуществляется с помощью множественного индекса.

Пример

<html>
   <body>
      
      <?php
         $marks = array( 
            "mohammad" => array (
               "physics" => 35,
               "maths" => 30,   
               "chemistry" => 39
            ),
            
            "qadir" => array (
               "physics" => 30,
               "maths" => 32,
               "chemistry" => 29
            ),
            
            "zara" => array (
               "physics" => 31,
               "maths" => 22,
               "chemistry" => 39
            )
         );
         
         /* Accessing multi-dimensional array values */
         echo "Marks for mohammad in physics : " ;
         echo $marks['mohammad']['physics'] . "<br />"; 
         
         echo "Marks for qadir in maths : ";
         echo $marks['qadir']['maths'] . "<br />"; 
         
         echo "Marks for zara in chemistry : " ;
         echo $marks['zara']['chemistry'] . "<br />"; 
      ?>
   
   </body>
</html>

Вывод:

Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39

Функции для работы с массивами PHP

  • array () - ›Создает массив

  • array_change_key_case () - ›Изменяет все ключи в массиве на нижний или верхний регистр.

  • array_chunk () - ›Разбивает массив на части массивов array_column () -› Возвращает значения из одного столбца во входном массиве.

  • array_combine () - ›Создает массив, используя элементы из одного массива ключей и одного массива значений

  • array_count_values ​​() - ›Подсчитывает все значения массива

  • array_diff () - ›Сравнить массивы и вернуть различия (только для сравнения значений)

  • array_diff_assoc () - ›Сравнить массивы и вернуть различия (сравнить ключи и значения)

  • array_diff_key () - ›Сравнить массивы и вернуть различия (только для сравнения ключей)

  • array_diff_uassoc () - ›Сравнить массивы и вернуть различия (сравнить ключи и значения, используя определяемую пользователем функцию сравнения ключей)

  • array_diff_ukey () - ›Сравнить массивы и вернуть различия (сравнивать только ключи, используя определяемую пользователем функцию сравнения ключей)

  • array_fill () - ›Заполняет массив значениями.

  • array_fill_keys () - ›Заполняет массив значениями с указанием ключей

  • array_filter () - ›Фильтрует значения массива с помощью функции обратного вызова.

  • array_flip () - ›Переворачивает / меняет местами все ключи с соответствующими значениями в массиве

  • array_intersect () - ›Сравнить массивы и вернуть совпадения (только для сравнения значений)

  • array_intersect_assoc () - ›Сравнить массивы и вернуть совпадения (сравнить ключи и значения)

  • array_intersect_key () - ›Сравнить массивы и вернуть совпадения (только для сравнения ключей)

  • array_intersect_uassoc () - ›Сравнить массивы и вернуть совпадения (сравнить ключи и значения, используя определяемую пользователем функцию сравнения ключей)

  • array_intersect_ukey () - ›Сравнить массивы и вернуть совпадения (только для сравнения ключей с использованием определяемой пользователем функции сравнения ключей)

  • array_key_exists () - ›Проверяет, существует ли указанный ключ в массиве

  • array_keys () - ›Возвращает все ключи массива.

  • array_map () - ›Отправляет каждое значение массива пользовательской функции, которая возвращает новые значения.

  • array_merge () - ›объединяет один или несколько массивов в один массив.

  • array_merge_recursive () - ›рекурсивно объединяет один или несколько массивов в один.

  • array_multisort () - ›Сортировка множественных или многомерных массивов.

person Community    schedule 16.07.2021