我正在尝试根据页面ID显示内容,但是当我没有向url添加任何内容时,所以只是index.php我收到一个错误,说明$p
没有定义,我怎么能给这个var一个在交换机外壳之外的默认值?
<?php
$p = $_GET['p'];
switch ($p) {
case 1:
$content1 = new login();
$content = $content1->displayLogin();
break;
case 2:
echo "ID is 2";
break;
case 3:
echo "ID is 3";
break;
default:
$content1 = new dbconnection();
$content = $content1->displayTable();
}
答案 0 :(得分:3)
替换:
$p = $_GET['p'];
使用:
$p = !empty($_GET['p']) ? $_GET['p'] : default_id_value_here;
答案 1 :(得分:2)
我们了解如果未定义$p
,您希望$_GET['p']
有默认值。
你可以这样做:
$p = isset($_GET['p']) ? $_GET['p'] : 'defaultValue';
或者,如果您使用的是PHP 7:
$p = $_GET['p'] ?? 'defaultValue';
答案 2 :(得分:1)
您可以执行以下操作:
$p = $_GET['p'] ?? <default value>; // e.g 1 or 3 etc.
在这个问题上阅读更多相关信息:PHP syntax question: What does the question mark and colon mean?