首先,我想让你们知道我不是PHP专家,我知道一些基础知识。我正在自学,这就是为什么我要向你们求助。
我进行了一些搜索,但我不知道应该搜索什么。
整个块的代码行
$base_root = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
所以代码块用于构建url。这行代码选择是http还是https。
(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
此行检查是否设置了https。到现在为止还好。
? 'https' : 'http';
这是我需要帮助的地方。什么是'?'和':'呢?
提前致谢。 如果你们可以向我推荐一些我可以学习的书籍,网站或教程,也会很棒。
亲切的问候
答案 0 :(得分:0)
如果?
前面的条件为:
,则会返回?
和true
之间的值。如果条件为:
,则false
之后的值。
我建议一般阅读PHP手册,它提供了有关PHP的几乎所有主题的大量信息。
答案 1 :(得分:0)
这是if - else combo
的简写
statement ? code 1 : code 2
相当于
if( statement ) {
code 1
} else {
code 2
}
http://www.php.net/manual/en/language.operators.comparison.php
答案 2 :(得分:0)
答案 3 :(得分: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';
}