No,
io devo recuperare (metti) tutti i campi [cognome] del sottoarray.

Il confronto lo facevo semplicemente per fare in modo che il ciclo s'interrompesse, in realtà non m'interessa minimamente sapere l'id relativa.

E' tecnicamente un while $return, ma è una prova che ho già fatto intrecciando i cicli (sicuramente in modo sbagliato), mi scade in un loop. Con il doppio foreach invece forse riesco a parsare l'array fino in fondo, ma non ho ancora trovato il sistema giusto per fare in modo che si fermi una volta che sono finiti i risultati.