【发布时间】:2011-05-17 21:10:21
【问题描述】:
如果子域不是“mobile”并且文件名不是“design”或“photo”,我想回显某些内容,因此回显 if(不是“mobile”而不是“design”)或(不是“mobile”而不是“照片”)。
我写的代码是:
<?php
if ( ($subdomain != mobile) && ($currentFileName != design || $currentFileName != photo) ) {
echo ('code')
}
?>
但它不喜欢复合语句。如果我只是做($subdomain!=mobile) 它可以工作;如果我只是做($currentFileName!=design) 它可以工作;如果我只是做($currentFileName!=photo) 它可以工作......
上面的代码不会导致错误……它只是什么都不做。
有没有一种特殊的方法来复合/分组我只是没有得到的陈述?我觉得这应该不难(而且我已经用 php 完成了更复杂的事情而没有这么多麻烦……)。 我在此之后模仿了我的声明:http://www.php.net/manual/en/control-structures.if.php#101724
谢谢!
编辑: 仅供参考:
$subdomain = implode(array_slice(array_reverse(explode('.', $baseURL)),2)); //resolves to "test"
$basename = basename($_SERVER['REQUEST_URI']); //resolves to "design.php"
$currentFileName = basename($basename, ".php"); //resolves to "design"
新问题是子域“mobile”中的所有内容现在都被捕获,因此其中没有页面从 echo 获取“代码”(即使是那些不是“设计”或“照片”的页面)。
我最近尝试的代码是:
if ( ($subdomain != 'test' && $currentFileName != 'design') && ($subdomain!='test' && $currentFileName != 'photo') ) {
echo ('ajax code');
}
但仍然没有骰子:(
【问题讨论】:
-
还有
echo之后的分号。 -
你的 ||声明的一部分将失败。你说的东西不能同时是两个不同的东西,这总是正确的。
标签: php if-statement