Php 分析错误:语法错误,意外'';我可以';我不知道为什么 echo($x==$page)?' ":" ';

Php 分析错误:语法错误,意外'';我可以';我不知道为什么 echo($x==$page)?' ":" ';,php,Php,^这只是我在分页时使用的脚本的一部分,它只适用于以下代码: echo($x==$page)? ' ':' '; 一旦我删除了,我就找不到错误了?在($x==$page)之后,它可以正常工作,但仍然会打印出错误,而且我还需要?在那里 [注意]我添加所有HTML标记的唯一原因是我可以使用CSS设置分页按钮的样式…更改 echo ($x == $page) ? ' <br/> <html> <head> <li

^这只是我在分页时使用的脚本的一部分,它只适用于以下代码:

echo($x==$page)?
' ':'  ';

一旦我删除了,我就找不到错误了?在($x==$page)之后,它可以正常工作,但仍然会打印出错误,而且我还需要?在那里

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

更改

    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)?'

":" ';

echo($x==$page)?'

"'. : .'" ';
需要一个
条件

     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>';

您可以阅读更多有关的信息。

您正在混合单引号和双引号。 你一开始只引用了一个引号,但后来又像是在期待双引号。它不是那样工作的

如果使用双引号,只需内联键入变量
“hello$world”
,它将解析字符串中
$world
的值

如果您使用单引号,您可以在字符串中键入任何您想要的内容,但它不会解析它。在这种情况下,您需要连接

“你好”$world'
=hello“$world。要获取本例中的值,它将是
'hello.$world;

现在,对于二进制操作,您通常有以下内容:

  • (布尔/如果条件)如果为真,返回什么如果为假,返回什么
冒号用于分隔返回值

// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
$x=“某物”;
echo($x==$page)?'

': ' ';
因为它是三元运算符语法的必需部分-请参阅我答案中的PHP网站链接。我得到的解析错误是:语法错误,意外的“}”,期望的“,”或“;”,对于我现在代码下面的},@Ayyanar G解析错误:语法错误,意外的“:”,期望的“,”或“;”是我在添加“:”;之后得到的错误;编辑:正确的answer是“;”;我相信,因为我把它改成了那个,它工作得很好。你在这里做的串联是错误的。使用
“。$x.”
。你做的是错误的,(编码)?out1:out2;代表简单逻辑,如果你看到了,你会迷失在代码中,因为它太大了,如果不是的话,最好是一个简单的,而你的逻辑中的问题是因为你有
:“
是一个大
,如果你解决了问题,你把
”:“
放在了一个糟糕的html语法中(如果你看到你必须把
page='.$x.“>.$x.
而不是
page=.$x.>.$x.
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
$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>';