【问题标题】:Parse error: syntax error, unexpected '$os' (T_VARIABLE) PHP Error解析错误:语法错误,意外的 '$os' (T_VARIABLE) PHP 错误
【发布时间】:2014-04-14 23:25:25
【问题描述】:

我正在使用以下代码来尝试打印用户的操作系统:

标题:

<?php
$user_agent = getenv("HTTP_USER_AGENT");

if (strpos($user_agent, "Win") !== FALSE)
$os = "Windows"; 
else (strpos($user_agent, "Mac") !== FALSE)
$os = "Mac";
?>

主体:

<?php
if($os = "Windows")
{

}
elseif($os == "Mac")
{

} 
?>

我得到了错误

解析错误:语法错误,第 7 行 C:\xampp\xamppfile\htdocs\ProjectSite\includes\identifier.php 中的意外 '$os' (T_VARIABLE)

【问题讨论】:

  • 你不能把条件放在else语句中。
  • (a) 第 7 行是哪一行? (b) 您如何处理$user_agent 既不是Mac 也不是Windows 的情况?这将导致未定义的$os,不是吗?

标签: php syntax-error


【解决方案1】:

else 语句中不能有条件,应该使用else if,并且在使用它之前还要练习声明你的变量,

$os = "";
if (strpos($user_agent, "Win") !== FALSE)
$os = "Windows"; 
else if(strpos($user_agent, "Mac") !== FALSE)
$os = "Mac";

【讨论】:

    【解决方案2】:
    <?php
    $user_agent = getenv("HTTP_USER_AGENT");
    
    if (strpos($user_agent, "Win") !== FALSE) {
        $os = "Windows"; 
    
    }
    else if(strpos($user_agent, "Mac") !== FALSE) {
        $os = "Mac";
    }
    
    ?>
    

    【讨论】:

    • 这没有帮助,除非您添加一些关于提问者做错了什么以及您建议的代码做了什么的解释
    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多