Está sobrescribiendo la matriz dentro de foreach
en cada iteración. Básicamente, esto significa que la matriz se vacía en cada iteración. La matriz solo contendrá los valores de la última iteración. Mueve el $temp = array();
declaración fuera del bucle para arreglar esto:
$temp = array(); // intialize the array
foreach($result as $r) {
$temp[] = array(
'id' => (int) $r['id_tabele'],
'ime_prezime' => (string) $r['naziv']
);
}
La solución anterior hará que su código funcione, pero recomiendo usar el enfoque usando alias de SQL como se muestra en @TuSentidoComún la respuesta abajo.