解析错误:语法错误,意外&#39 ;;'我无法找出原因

时间:2015-03-30 07:42:30

标签: php

    echo ($x == $page) ? '
     <br/>
     <html>
     <head>
     <link href="homecss/pagination.css" type="text/css" rel="stylesheet">
     </head>
     <body>
     <b>
     <a href="?page=".$x."">".$x."</a></b> ":" <a href="?page=".$x."">".$x."</a>
     </body>
     </html>';

^这只是我在Pagination中使用的脚本的一部分,它仅适用于此代码: echo ($x == $page) ? '<b><a href="?page='.$x.'">'.$x.'</a></b> ':'<a href="?page='.$x.'">'.$x.'</a> ';

我删除后立即找不到错误?之后($ x == $ page)它排序有效,但仍打印出错误,而且我还需要?那里。

[注意]我添加所有HTML标签的唯一原因是我可以使用CSS来设置分页按钮的样式...

3 个答案:

答案 0 :(得分:1)

更改

 echo ($x == $page) ? '
 <br/>
 <html>
 <head>
 <link href="homecss/pagination.css" type="text/css" rel="stylesheet">
 </head>
 <body>
 <b>
 <a href="?page=".$x."">".$x."</a></b> ":" <a href="?page=".$x."">".$x."</a>
 </body>
 </html>';

     echo ($x == $page) ? '
 <br/>
 <html>
 <head>
 <link href="homecss/pagination.css" type="text/css" rel="stylesheet">
 </head>
 <body>
 <b>
 <a href="?page="'.$x.'">"'.$x.'"</a></b>"'. : .'" <a href="?page="'.$x.'">"'.$x.'"</a>

 </body>
 </html>';

答案 1 :(得分:1)

PHP ternary operator需要:条件。

在您的代码中,您可以在第一个条件之后添加: '';

</html>' : '';

此处the example from the PHP website

// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

您可以阅读有关the ternary operator on Wikipedia的更多信息。

答案 2 :(得分:0)

您正在混合单引号和双引号。 你从一个单引号开始,但后来就好像期待双引号一样。它没有那种方式。

如果您使用双引号&#34; ,则只需键入内联"hello $world";变量,它就会解析字符串中$world的值。

如果您使用单引号,则可以在其赢得的字符串中键入您想要的任何内容。在这种情况下你需要连接。

'hello " $world'; = 你好&#34; $世界的。要获得此值的值,它将为'hello'.$world;

现在你的二进制操作总是有这个:

  • (布尔/如果条件) 返回如果为真 返回如果为false;

冒号是分隔返回值的原因。

$x="SOMETHING";
echo ($x == $page) ? '
     <br/>
     <html>
     <head>
     <link href="homecss/pagination.css" type="text/css" rel="stylesheet">
     </head>
     <body>
     <b>
     <a href="?page='.$x.'">'.$x.'</a></b> ': ' <a href="?page='.$x.'">'.$x.'</a>
     </body>
     </html>';