Look at the json_encode() of that:
[{"0":"-","text":"tool1"},{"text":"menu2"}]
You need:
["-",{"text":"tool1"},"-",{"text":"menu2"}]
Here's the code you need. Put the '-' as the first string in the array, before you make the other objects.
$head = array();
$head[] = "-";
$head[] = array("text"=>"tool1");
$head[] = "-";
$head[] = array("text"=>"menu2");
echo json_encode($head);
if I was understanding you correctly...the Javascript provided was missing a curly brace, so I'm assuming you wanted to two objects in the array...
Let me know if you need anything else.
Edit: You might need an extra set of quotes to make ext see the -'s as strings...fyi.