第9行的php语法错误

第9行的php语法错误,php,syntax,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{

我已经盯着这个看了一个小时了。上面说我有一个 分析错误:语法错误,第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
}
}

?>

您没有正确关闭括号:

if(array_key_exists($i, $b){
if(array_key_exists($i, $b){
应该是

if(array_key_exists($i, $b)){
if(array_key_exists($i, $b)){
if(! array_key_exists($i, $a)){
您在此行中缺少一个

if(array_key_exists($i, $b){
应该是:

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

您的第一个
中缺少括号,如果

应该是

if(array_key_exists($i, $b)){
if(array_key_exists($i, $b)){
if(! array_key_exists($i, $a)){
另外,
not
不是有效的运算符(括号也丢失了)

应该是

if(array_key_exists($i, $b)){
if(array_key_exists($i, $b)){
if(! array_key_exists($i, $a)){
最后,您在返回语句中缺少一个

return $result;
我建议您使用像Eclipse这样的PHP IDE,它会指出语法错误。我们都会犯错误,在纯文本编辑器中找到缺少的括号会非常令人沮丧