варианты:
1. убрать у инпута [h2]
2. изучить работу с массивами в целом и is_array в частности
3. забить на обход массива, работать напрямую с индексами.
4. додуматься до других способов
на нормальную песочницу у вас сил не хватило. жаль.
подсказываю один из вариантов:
-> сделать див с инпутом
-> убрать стилизацию с инпута
-> перед/после инпутом поставить иконку
-> весь див стилизовать как инпут
это функционал браузера.
единственный нормальный и приемлемый вариант – забить на required и писать собственную валидацию и уведомления. или смириться и жить с родными уведомлениями.
элементарно: не завязываться на ид.
у любого элемента на странице всегда будет какой-то уникальный для него параметр: специфический атрибут/положение относительно родителя(ей)/и всё такое.
всё это элементарно решается икспасом, если в него уметь.
современные устройства спокойно пережуют и сотню.
вопрос: а надо ли?
меньше - лучше, это - очевидно. но не стоит по этому угорать.
тем более сейчас решают не столько сам хтмл, сколько навешанные на него цсс/жс.
здравый смысл - залог успеха.