Press "Enter" to skip to content

用PHP实现不使用第三个变量实现交换两个变量的值。

我第一次去面试考官的面试题,基本功不行,怎么也想不起来,上网百度了一下茅塞顿开。

<?php
echo '<p>方式一,通过字符串处理函数substr,strlen方法实现</p>';
$a = 'a1';
$b = 'b2';
echo '交换前 $a='.$a.' $b='. $b;
echo '<br/>';
$a.=$b;
$b = substr($a, 0, (strlen($a)-strlen($b)));
$a = substr($a, strlen($b));
echo '交换后 $a='.$a.' $b='.$b;
echo '<hr/>';

echo '<p>方法二,通过list和array方法实现</p>';
$a = 'a1';
$b = 'b2';
echo '交换前, $a='.$a.' $b=' . $b;
echo '<br/>';
list($b, $a) = array($a, $b);
echo '交换后$a='.$a.' $b='.$b;

echo '<hr/>';
$a = 'a1';
$b = 'b2';
echo '<p>方法三,通过str_replace</p>';
echo '交换前 $a='.$a.' $b='.$b;
$a.=$b;
$b = str_replace($b, "", $a);
$a = str_replace($b, "", $a);
echo '<br/>交换后 $a='.$a.' $b='.$b;

?>

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注