在php中使用运算符时如何返回字符串?

时间:2016-12-16 13:15:25

标签: php bash logical-operators

我知道在使用这样的运算符时可以回显值并执行函数:

function echoTadaa() {
    echo "taTaaa";
}
echo true && echoTadaa();

结果是: taTaaa

但是在使用运算符时,是否有可能将字符串(任意)值保存到变量中?

$var = true && 'tadaaa';
var_dump($var);

结果是: bool(true)

预期结果是:字符串(6)" taTaaa"

2 个答案:

答案 0 :(得分:1)

你是说这个意思吗?

function echoTadaa() {
    return "taTaaa";
}
$str = true . echoTadaa();

https://3v4l.org/WFb0f

返回" 1taTaaa"其中1 =真

答案 1 :(得分:1)

我真的不知道你为什么要这样,但你可以这样做:

if(true && $a= "hello"){

}
var_dump($a);    //string(5) "hello"

如果符合条件,则将进行分配。 但是在那种情况下你可以在if条件下分配$ var。

或者你可以使用三元运算符:

$a = true ? "yes" : "no";

演示:https://3v4l.org/i6Hnf

  

这是一个笑话。我想在不使用三元运算符的情况下编写三元运算符。

嗯,你不能做到这一点:

$a = true && "something";
echo $a;

因为评估将始终返回bool值,因此var $ a将包含bool,而不是您的字符串。

你可以做一些混淆,使代码看起来像这样工作 像这里解释:https://www.thc.org/root/phun/unmaintain.html