4

我想知道是否可以在 PHP 中在两个变量的值之间进行替换。

我可以更好地解释它:

<?php
    $a = "Cat";
    $b = "Dog";

    // The strange/non-existent function I am talking about //
    MakeSubstitution($a, $b);

    // After this (non-existent) function the values of the variables should be:
        // $a = "Dog"
        // $b = "Cat"
?>

那么,它存在吗?我进行了搜索,但没有找到任何结果。提前致谢。

4

2 回答 2

16

尝试这个 :

$a = "Cat";
$b = "Dog";

list($a,$b) = array($b,$a);

echo $a;
echo $b;
于 2013-03-06T13:27:41.130 回答
6

在函数中通过引用处理它们,并交换它们的值:

function swap ( &$a, &$b ) {
    $t = $a; // Create temp variable with value of $a
    $a = $b; // Assign to $a value of $b
    $b = $t; // Assign to $b value of temp variable
}

$dog = "dog";
$cat = "cat";

swap($dog, $cat);

echo $dog; // Output 'cat'

显然您也可以使用按位运算符,并避免创建临时函数/var/array 的开销:

$cat = "cat";
$dog = "dog";

$cat = $cat ^ $dog;
$dog = $cat ^ $dog;
$cat = $cat ^ $dog;

echo $cat . $dog; // Output 'dogcat'

设法找到了按位方法的一个很好的例子:https ://stackoverflow.com/a/528946/54680

于 2013-03-06T13:31:06.130 回答