第9行的PHP语法错误

时间:2012-07-13 15:25:16

标签: php syntax

我一直盯着这一个小时了。它说我有一个     解析错误:语法错误,第9行意外的“{”。

有人可以帮我看看。提前谢谢。

<?php

if(isset($_POST['submit']))
{
 function foo($a, $b)
{
   foreach(array_keys($a) as $i)
   {
      if(array_key_exists($i, $b){
          $result[$i] = $a[$i]*$b[$i];
      }else{
          $result[$i] = 0;
      }
   }
   foreach(array_keys($b) as $i)
   {
      if(not array_key_exists($i, $a){ //exists in b but not i a
          $result[$i] = 0;
      }
   }
   return $result
}
}

?>

3 个答案:

答案 0 :(得分:6)

您没有正确关闭括号:

if(array_key_exists($i, $b){

应该是

if(array_key_exists($i, $b)){

答案 1 :(得分:2)

您在此行中缺少)

if(array_key_exists($i, $b){

应该是:

if(array_key_exists($i, $b)){

答案 2 :(得分:2)

您在第一个if中遗漏了一个括号:

if(array_key_exists($i, $b){

应该是

if(array_key_exists($i, $b)){

此外,not不是有效的运算符(并且缺少括号)。所以

if(not array_key_exists($i, $a){

应该是

if(! array_key_exists($i, $a)){

最后你的回复陈述中遗漏了;

return $result;

我建议你使用Eclipse等PHP IDE,它会指出语法错误。我们都会犯错误,在纯文本编辑器中找到缺少的括号可能会非常令人沮丧。