2012-07-13 51 views
0

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

有人可以请看看这个给我。提前致谢。

<?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 
} 
} 

?> 

回答

6

您没有正确关闭您的括号:

if(array_key_exists($i, $b){ 

应该

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

你在这一行缺少)

if(array_key_exists($i, $b){ 

应:

if(array_key_exists($i, $b)){ 
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语句;

return $result; 

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