未知的PHP代码

未知的PHP代码,php,Php,好的。我看到了这段代码,我对它的工作原理和功能很好奇。 谁能给我解释一下吗? 谢谢 如果未设置值,则在会话['langtype']中输入false,否则将保留当前值 另请参见如果$\u会话['langtype']为空(或键为langtype的值不存在),则在$\u会话['langtype']中放置假“(作为字符串,而不是布尔值),否则保留相同的值 把“false”作为字符串可能是个坏主意。例如,如果这部杰作的作者决定执行检查if($\u SESSION['langtype']){},则在任何情况

好的。我看到了这段代码,我对它的工作原理和功能很好奇。 谁能给我解释一下吗? 谢谢


如果未设置值,则在会话['langtype']中输入false,否则将保留当前值

另请参见如果
$\u会话['langtype']
为空(或键为
langtype
的值不存在),则在
$\u会话['langtype']
中放置
假“
(作为字符串,而不是布尔值),否则保留相同的值


“false”
作为字符串可能是个坏主意。例如,如果这部杰作的作者决定执行检查
if($\u SESSION['langtype']){}
,则在任何情况下都将返回true。我很好奇,在这种情况下,这个解决方案应该是合理的。

这是
if else
语句的简称。如果
(空($\u SESSION['langtype'])
,则
$\u SESSION['langtype']=false
否则
$\u SESSION['langtype']=$\u SESSION['langtype']

这是此语句中使用的三元运算符

$_SESSION['langtype'] = (empty($_SESSION['langtype'])) ? 'false' : $_SESSION['langtype']; $\u会话['langtype']=(空($\u会话['langtype']))?'false':$_会话['langtype']; 这意味着如果名为langtype的会话变量为空,则返回false,否则使用与定义相同的langtype

后面的那部分?如果函数empty($_SESSION['langtype'])返回true,则表示该值(如果为空,则表示将其设置为false或取消定义该变量),即$_SESSION['langtype']=false

empty($_SESSION['langtype'])
以及后面的部分:表示else语句,即如果langtype不是空的,则将其保持原样(等于定义的值)为$_SESSION['langtype']=$_SESSION['langtype']

如果未设置(true),则它将为false,否则如果它的(false),它将打印会话值

它被称为三值运算符。它由条件表达式和两个条件求值的返回值组成

// if expression evaluates to true first value will be returned,
// otherwise it will the second 
$variable = (expression) ? 'value if true' : 'value if false';
对于初学者来说,上面的代码与您可能知道的长版本相同

<?php
     if(empty($_SESSION['langtype'])) {
           $_SESSION['langtype'] = 'false';
     } else {
          $_SESSION['langtype'] =  $_SESSION['langtype'];
     }
 ?>


如果未设置$\u会话['langtype'],则将其设置为false。否则它只是用当前值再次设置它是一个三元运算符视图如果您不确定数组元素是否已设置,则此链接不应该使用“isset”吗?因为您看到,如果langtype为“0”,它也会将其设置为“false”。您可能会发现此引用很有用:它是一个内联if:
(表达式)?:
$_SESSION['langtype']=$_SESSION['langtype'];
// if expression evaluates to true first value will be returned,
// otherwise it will the second 
$variable = (expression) ? 'value if true' : 'value if false';
$_SESSION['langtype'] = (empty($_SESSION['langtype'])) ? 'false' : $_SESSION['langtype'];
<?php
     if(empty($_SESSION['langtype'])) {
           $_SESSION['langtype'] = 'false';
     } else {
          $_SESSION['langtype'] =  $_SESSION['langtype'];
     }
 ?>