Ошибка синтаксиса php в строке 9

Я смотрю на это уже час. В нем говорится, что у меня есть   Ошибка анализа: синтаксическая ошибка, неожиданная '{' в строке 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
}
}

?>

Ответы

Ответ 1

Вы не закрыли свою скобку правильно:

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)){

Ответ 3

Отсутствует скобка в вашем первом 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, который укажет на синтаксические ошибки. Мы все делаем ошибки и находим отсутствующую скобку в текстовом редакторе, может быть очень неприятно.