Ваша проблема связана с выходными данными CSS и HTML, а не обязательно с генерирующим их PHP.
Если у вас есть доступ к таблице стилей CSS, вы можете использовать несколько методов:
Встроенный блок
ul {
font-size: 0;
/*makes inline-block method work, as " " in your DOM have a font-size,
and we want to eliminate those
*/
}
ul li {
font-size: 18px; //or however large you would like
display: inline-block;
width: calc(100% / X); //where X is number of li
}
Поплавок
ul {
}
ul li {
font-size: 18px; //or however large you would like
float: left;
margin-left: X; //where X is the gap you want between elements
}
Flexbox
ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
ul li {
}