Что означает ^ в PHP?
Я наткнулся на эту строку кода в приложении, которое я пересматриваю:
substr($sometext1 ^ $sometext2, 0, 512);
Что это ^
имею в виду?
7 ответов
Это побитовый оператор.
Пример:
"hallo" ^ "hello"
Он выводит значения ASCII #0
#4
#0
#0
#0
('a'
^ 'e'
знак равно #4
).
^
является побитовым эксклюзивным оператором ИЛИ. Для каждого бита в значении он смотрит, совпадает ли этот бит с другим значением; если это то же самое, 0 выводится на свое место, иначе 1 выводится. Например:
00001111
^ 01010101
--------
01011010
$a ^ $ b означает биты, которые установлены в $a или $b, но не оба, установлены.
В PHP ^
означает "побитовый XOR". Ваш код XOR объединяет две строки, а затем возвращает не более первых 512 символов.
Другими словами это делает это:
return (at most the first 512 characters of (someText1 XOR someText2))
Это оператор XOR (эксклюзивный или). Для строк это используется как простое шифрование.
Это побитовый оператор ИЛИ - в PHP он также применяется к строкам.
^
соответствует начальной позиции в строке. В линейных инструментах это соответствует начальной позиции любой линии.