如果PHP中的语句结构

我不断收到下面一段代码的错误。 这可能是一些小事情,但我不明白什么是错的。

while($row = mysql_fetch_array($result))
  {
   $varp = $row['ustk_retail'];
   if ($varp<80000) { $o1 = 1; }
   if (($varp=>80000) && ($varp<100000)) { $o2 = "1"; }
   if (($varp=>100000) && ($varp<120000)) { $o3 = "1"; }
   if (($varp=>120000) && ($varp<140000)) { $o4 = "1"; }
   if (($varp=>140000) && ($varp<160000)) { $o5 = "1"; }
   if (($varp=>160000) && ($varp<180000)) { $o6 = "1"; }
   if (($varp=>180000) && ($varp<200000)) { $o7 = "1"; }
   if (($varp=>200000) && ($varp<220000)) { $o8 = "1"; }
   if (($varp=>220000) && ($varp<240000)) { $o9 = "1"; }
   if (($varp=>240000) && ($varp<260000)) { $o10 = "1"; }
   if (($varp=>260000) && ($varp<280000)) { $o11 = "1"; }
   if (($varp=>280000) && ($varp<300000)) { $o12 = "1"; }
   if ($varp>=300000) { $o13 = "1"; }
  }

大于或等于>=符号,而不是=>

更新:
你是对的。 它很小但很难找到错误。
我花了整整一小段时间来看看问题出在哪里:

<?php
if 
(
$varp
=>
80000
)

所以,它说第5行解析错误,我不得不重新检查这个操作符。
当然,起初我将问题行与代码的其余部分分开来确定。


在你的代码上运行php -l (lint)我得到了一个

解析错误:语法错误,意外的T_DOUBLE_ARROW

T_DOUBLE_ARROW标记是将数组值分配给数组键时所期望的。

当比较大于或等于 PHP解析器期望T_IS_GREATER_OR_EQUAL ,意味着您必须使用>=而不是=>

看到

  • PHP手册中的比较运算符一章
  • PHP手册中的解析器令牌列表

  • 你有一个表达错误。

    $varp=>220000 // is not a valid php expression
    
    => operator is used to assign values in arrays like:
    
    $x = array( 'foo' => 'bar');
    
    >= is the comparation assigment greater than or equal
    
    链接地址: http://www.djcxy.com/p/12033.html

    上一篇: If statement structure in PHP

    下一篇: php unexpected T