-1

首先我想让你们知道我不是PHP专家,我知道一些基础知识。我正在自学,这就是为什么我向你们寻求帮助。

我进行了一些搜索,但在脉络中,我不知道应该搜索什么。

来自整个块的代码行

$base_root = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';

因此代码块用于构建 url。这行代码选择是 http 还是 https。

(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')

此行检查是否设置了 https。到现在为止还可以

 ? 'https' : 'http';

这是我需要帮助的地方。'?' 是什么意思?和':'呢?

提前致谢。如果你们能向我推荐一些我可以学习的书籍、网站或教程,那就太好了。

亲切的问候

4

4 回答 4

0
$base_root = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') 

? 'https' : 'http';
this is like if else statement if above line is true then $base_root will assigned with 'https'(which is just after ?) if it is false then it will get assigned with 'http'(which is after :)

只需检查以下条件,您就会很容易理解......

if((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')){
    $base_root = 'https';
}else{
    $base_root = 'http';
}
于 2013-06-20T12:06:15.697 回答
0

它是三元运算符

如果前面的条件是,它返回介于?和之间的值。而if 条件之后的值是.:?true:false

我建议一般阅读 PHP 手册,它提供了关于 PHP 几乎所有主题的大量信息。

于 2013-06-20T11:59:48.123 回答
0

它是 if - else 组合的简写

statement ? code 1 : code 2

相当于

if( statement ) { code 1 } else { code 2 }

http://www.php.net/manual/en/language.operators.comparison.php

于 2013-06-20T12:02:02.857 回答
0

这是三元条件运算符:http: //php.net/manual/en/language.operators.comparison.php

于 2013-06-20T12:03:31.427 回答