Heim >Backend-Entwicklung >PHP-Tutorial >$p = $p == '' ? "1" : $p;这样定义变量有什么问题?

$p = $p == '' ? "1" : $p;这样定义变量有什么问题?

WBOY
WBOYOriginal
2016-06-20 12:42:08787Durchsuche

为什么我在公司的运行就没问题,拷到自己电脑上,因为我的&p用作页数值,所以我每个功能都在$p第一个报错。


回复讨论(解决方案)

请问楼主  p = $p == '' ? "1" : $p;  你这是三元运算吗?

$p = $p == '' ? "1" : $p;
会有 Notice: Undefined variable: p 错误警告
原因是你没有屏蔽 E_NOTICE 级别错误,也就是说:你的程序是不健壮的

宽松的写法是
$p = @$p == '' ? "1" : $p;
严密的写法是
$p = ! isset($p) || $p == '' ? "1" : $p;

php7 可写作
$p = $p ?? "1";

谢谢2L。好不开心啊。$p问题解决了。
但是还有好多 Notice: Undefined 的问题。原来换个电脑差距这么大。

程序中 error_reporting(E_ALL ^ E_NOTICE);
php.ini 中 error_reporting = E_ALL ^ E_NOTICE
之后,Notice: Undefined 就没有了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn