<?php
$array = [
    0=>1, 
    1=>"Jon",
    2=>"jon@email.com", 
    3=>2, 
    4=>"Doe", 
    5=>"doe@email.com", 
    6=>3, 
    7=>"Foo", 
    8=>"foo@email.com"
];

$newArr = [];    
foreach($array as $key=>$value){
   if ($key % 3 == 0)
        $newArr[] = ["id" => $value];
   if ($key % 3 == 1)
       $newArr[sizeof($newArr)-1]["name"] = $value;
   if ($key % 3 == 2)
       $newArr[sizeof($newArr)-1]["email"] = $value;
}

var_dump($newArr);