问题很简单,但我正在寻找创意解决方案。 我们经常会遇到数组,这些对象具有可以切换的属性(可以是活动的或非活动的,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;
还有其他一线解决方案吗? 谢谢,并享受头脑风暴。
答案 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)