Да, использование foreach может быть круто, но ваша ошибка в вашем логическом представлении.Если я посмотрю на ваш алгоритм, я увижу: напишите несколько открытых тегов, сохраните мой аргумент в новой переменной с именем $ menuitem, создайте массив из $ menuitem каждый раз, когда вы найдете «,», и сохраните его в $ кусках, сохраните мой аргумент в новой переменнойтеперь он называется $ i, в то время как $ i равен char "," (что всегда ложно), после чего пишу мои subtags
, после чего пишем конечные теги.
Вы не обрабатываете свой массив.Цикл foreach сделает это.Но чтобы исправить ваш код, вы должны понимать, что $ i должен принимать в качестве значения индексы массива, поэтому 0,1,2,3 ...