4

我刚刚遇到了这段代码,用于在 PHP 中交换两个变量的值:

<?php
$a = ‘bar’;
$b = ‘foo’;

$a = $a ^ $b;
$b = $a ^ $b;
$a = $a ^ $b;

echo $a . $b;

我理解二进制的概念;这总是适用于字符串吗?如何?

4

1 回答 1

6

PHP 通过将位运算符分别应用于每个字符来将位运算符应用于字符串。

PHP:按位运算符

注意数据类型转换。如果左侧和右侧参数都是字符串,则按位运算符将对字符的 ASCII 值进行操作。

如果两个字符串具有相同的字符数,或者更准确地说是相同的字节数,这将起作用。如果上面的引用真的很精确,那么它可能只适用于纯 ASCII 字符串。

于 2012-11-13T18:28:21.933 回答