Что означает ^ в PHP?

Я наткнулся на эту строку кода в приложении, которое я пересматриваю:

substr($sometext1 ^ $sometext2, 0, 512);

Что это ^ имею в виду?

7 ответов

Решение

Это побитовый оператор.

Пример:

"hallo" ^ "hello"

Он выводит значения ASCII #0#4#0#0#0 ('a' ^ 'e' знак равно #4).

^ является побитовым эксклюзивным оператором ИЛИ. Для каждого бита в значении он смотрит, совпадает ли этот бит с другим значением; если это то же самое, 0 выводится на свое место, иначе 1 выводится. Например:

  00001111
^ 01010101
  --------
  01011010

XOR (исключающее ИЛИ):

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

В PHP ^ означает "побитовый XOR". Ваш код XOR объединяет две строки, а затем возвращает не более первых 512 символов.

Другими словами это делает это:

return (at most the first 512 characters of (someText1 XOR someText2))

Это оператор XOR (эксклюзивный или). Для строк это используется как простое шифрование.

Это побитовый оператор ИЛИ - в PHP он также применяется к строкам.

^ соответствует начальной позиции в строке. В линейных инструментах это соответствует начальной позиции любой линии.

Другие вопросы по тегам