在PHP中我可以转义字符串'Function',以便它不被识别为函数?

时间:2014-04-21 08:13:15

标签: php mysql sql

问题:在PHP中,我可以以某种方式转义字符串'Function',以便它不被识别为函数吗?

我使用php将数据从SQL数据库导入SQL数据库。我需要用ID替换字段的值。数据作为数组发送。我一直在使用下面的方法来替换无法自动识别的ID,这些ID一直有效。但是,数组中的一个字段名称称为“Function”。 PHP似乎认为我想写一个函数,我收到一条错误消息

  

'解析错误:语法错误,意外'=='(T_IS_EQUAL),期待'('

if (isset($Function)) {
 if (Function == 'A') {
     $functionID = '4';
 } 
 else if (Function == 'B'){
     $functionID = '11';
 }  
}
else { 
   $functionID = 0;
}

2 个答案:

答案 0 :(得分:2)

是的,你可以!您使用Function的方式是错误的(因为在前面没有美元符号的单词,它被假定为保留字或常量)。在它前面放一个美元符号,以便将其解释为变量。

if (isset($Function)) {
  if ($Function == 'A') {
    $functionID = '4';
  } else if ($Function == 'B'){
    $functionID = '11';
  }  
} else {
  $functionID = 0;
}

请注意Function不是字符串:

  • 字符串应为"Function"
  • Function是保留字
  • Some_Function是一个常量(因为它没有保留)
  • $Function是变量
  • Some_Function()本来是一个函数调用。

答案 1 :(得分:1)

在您的代码中,您不是在访问数组数据。相反,您正在尝试访问名为$Function的单个变量。

假设数组存储在名为$arr的变量中。然后为了检查其功能的价值。字段(带索引的元素'函数')你应该写:

if ($arr['Function'] == 'A') {
    // ...your action code here
}