Tach!
unset() will wissen was es löschen soll. Mich wundert, dass Du keine Notizen empfängst.
Da kommt keine, weil es dazu keinen Grund gibt. Das unset($field) löscht $field, was in unserem Fall eine Referenz auf einen Array-Eintrag ist. Beim nächsten foreach-Durchlauf wird $field wieder als neue Referenz angelegt. Wenn nach dem unset() im restlichen Schleifenkörper noch Lesezugriffe auf $field kämen, dann wäre eine Notice gerechtfertigt.
dedlfix.