PHP - 切换状态

时间:2012-05-11 08:53:04

标签: php math

问题很简单,但我正在寻找创意解决方案。 我们经常会遇到数组,这些对象具有可以切换的属性(可以是活动的或非活动的,1或0)。

我想要的是一个创造性的解决方案(一个功能),将0转换为1,将1转换为0。

一些例子:

// First
if ($state == 1)
{
  $state = 0;
}
else
{ 
  $state = 1; 
}

// Second
$states = array(1, 0);
$state = $states[$state];

// Third
$state = ($state == 1) ? 0 : 1;

还有其他一线解决方案吗? 谢谢,并享受头脑风暴。

3 个答案:

答案 0 :(得分:21)

你可以这样做:

$state = 1 - $state;

答案 1 :(得分:3)

试试这段代码: $state = !$state

答案 2 :(得分:1)

如果允许结果是布尔值(并且它不必是整数交换),则可以使用否定运算符:

<?php
$state = 0;
var_dump(!$state);

$state = 1;
var_dump(!$state);

输出:

bool(true) 
bool(false)