Let's try to explain what's going on so maybe damian taylor understands.
First, reading the documentation on arrays would be enormously helpful.
Second, when you do this, you are defining an $myArray as one thing and then you are changing it to something else entirely:
$myArray = array (array("id"=> 1, "name" => 'bob')); // put 1-bob in array
// blah blah other code
$myArray = array (array("id"=> 2, "name" => 'jane')); // put 2-jane in array
It should be pretty obvious that you are not adding anything to your array but rather just defining it as something else.
If you have an array and need to keep adding stuff to it, you either need to keep track of what index of the array you are dealing with:
// add 1st element to your array at index=0
$i = 0;
$myArray[$i] = array("id"=> 1, "name" => 'bob');
// blah blah
// add 2nd element to your array at index=1
$i++; // this adds 1 to $i, making it 1
$myArray[$i] = array("id"=> 2, "name" => 'jane');
Or you can use the shorthand suggested by bradgrafelman which is very convenient. When you assign a value to $myArray[] (without any key or value in the square brackets) this just tells PHP to push another value onto the array. It's very convenient.
$myArray = array();
$myArray[] = array("id"=> 1, "name" => 'bob');
$myArray[] = array("id"=> 2, "name" => 'jane');
I think it's also important to point out that you are building an array of arrays in all these examples. $myArray is a numerically indexed array (meaning keys are numbers -- usually sequential). Each element of $myArray is also an associative array (meaning keys are textual -- "id" and "name"). Is this really necessary? You might be better off doing this:
$myArray = array();
$myArray[] = "bob";
$myArray[] = "jane";