【面试】两个变量进行交替的N种方法

[复制链接]
查看1843 | 回复0 | 2021-3-11 10:53 | 显示全部楼层 |阅读模式
方法一:
或异运算符处理
  1. $a = 'abc';
  2. $b = 'def';

  3. // 或异运算符
  4. $a = $a^$b;
  5. $b = $b^$a;
  6. $a = $a^$b;

  7. echo $a.'<br/>';        // def
  8. echo $b.'<br/>';        // abc
复制代码
方法二:
  1. $a = 'abc';
  2. $b = 'def';
  3. // list() 函数把数组中的值赋给一组变量
  4. list($a, $b)= array($b, $a);

  5. echo $a.'<br/>';    // def
  6. echo $b.'<br/>';    // abc
复制代码
方法三:
  1. $a = 'abc';
  2. $b = 'def';
  3. // 链接两个变量
  4. $a = $a . $b;
  5. // 总长度
  6. $b = strlen( $b );
  7. // 截取 a 字符串 赋值 b
  8. $b = substr( $a,0,(strlen($a)- $b ));
  9. // 截取 b 字符串 赋值 a
  10. $a = substr( $a, strlen($b));

  11. echo $a.'<br/>';    // def
  12. echo $b.'<br/>';    // abc
复制代码
方法四: 必须用两个字符串中不能出现的字符做为分隔符
  1. $a = 'abc';
  2. $b = 'def';
  3. // 使用字符链接两个变量
  4. $a = $b.'###'.$a ;
  5. // 根据字符拆分数组
  6. $a = explode('###', $a);
  7. // 赋值
  8. $b = $a[1];
  9. $a = $a[0];

  10. echo $a.'<br/>';    // def
  11. echo $b.'<br/>';    // abc
复制代码
方法五:仅当变量为两个纯数字时可用
  1. $a = $a + $b;
  2. $b = $a - $b;
  3. $a = $a - $b;
复制代码




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
434
贡献
3
丢币
0
主题
59
回帖
0
注册时间
2021-2-21
最后登录
2021-12-28