我希望根据通过网址传递的参数在网页中更改文章a / an。所以,例如,我有mywebpage.com/?page&qry=dog作为URL,所以我希望任何一篇文章都是“狗”(vs“an”aardvark就是qry)。我正在尝试使用下面的代码,但是每次尝试加载页面时都会出现解析错误。
<?php in_array(substr($_GET['qry'],0,1), array('a','e','i','o','u')) ? 'an' 'a'; ?>
如果还尝试了IF / ELSE语句,则会导致相同的结果。
<?php if(in_array(substr($_GET['qry'],0,1), array('a','e','i','o','u'))):'an':'a'; ?>
我确定我遗漏了一些简单的内容,很可能与我尝试在标准HTML文本中插入此代码段有关;谁能发现我的错误?
这是我回来的错误:
解析错误:第117行的C:\ Program Files(x86)\ Apache Software Foundation \ Apache2.2 \ htdocs \ testsite \ html \ page.html.php中的解析错误
谢谢!
答案 0 :(得分:6)
<?php in_array(substr($_GET['qry'],0,1), array('a','e','i','o','u')) ? 'an' : 'a'; ?>
删除if()
。三元运算符不会使用if()
,这就是它们的用途,可以一次性有条不紊地检查所有内容。
参考:
脚注:(OP)
“完美!此外,对于任何试图在将来使用此功能的人,我都忘记回应声明(这很容易补救......
<?php echo ...
如果您将上述内容添加为回答我一定会把它标记出来。非常感谢你的帮助!“
答案 1 :(得分:0)
三元运算符语法为:
($conditions) ? "if condition is true" : "if condition is false";
在第一个示例中,您在可能的值之间缺少:
。在第二种情况下,你有一个额外的:
条件。以下是此运算符的手册和说明:http://php.net/manual/en/language.operators.comparison.php(搜索三元运算符)