El problema es que como lo planteas, fruta y nombres siguen siendo string dentro de un array numérico, y verdura es una posición definida por un índice asociativo. Es una mezcla un poco extraña.
Si lo que querés es mantener la posición dentro del array númerico y que a su vez se cree dentro de esta un índice asociativo, deberías cambiar tu código a:
Código PHP:
<?php
if ($nuevaClave == $value)
{
$data[$key][$nuevaClave] = $b;
}
?>