<html lang="en">
<script>function validate(){...}</script>
echo <<<REG
field_4 = 1;field_4 =2;field_4 =3;field_4 =4;field_5 = привет;field_6 = пока;field_7 = что-то еще;field_7 = что-то еще 1111;
var_dump($i);, но не показан результат этого var_dump() и не показано, что ожидалось ( и опять же, в этом лучше использовать var_export() , это практичнее ).
<?php
$list = [...]; // вот эту часть надо показать
$del_keys = array('field_1','field_2','field_3');
$i = [];
foreach (array_filter($list,"trim") as $key => $elem) {
if(!in_array($key, $del_keys )) {
$i[$k] = $key.'='.$elem;
}
}
var_export($i); // и вывод вот этого
<?php
$i[$k] = $key.'='.$elem;
Выводит не по ближайшей дате, а по наименьшему events.id.
посмотреть глазами 100к строк, потребуется окулист
Нет. Разделение HTML и JS в разные файлы хорошо, но это другое. Название функции validate заставляет предположить, что Вы там проверяете пользовательский ввод. Аргументов функция не принимает ( по сигнатуре). Что Вы будете делать, когда появится ещё одна форма на странице, с совершенно другим содержимым? Или, более наглядно: допустим, у Вас уже есть эта другая форма на другой странице, и тоже есть функция validate() , но с другими проверками. Вы решили эту часть с формой продублировать на первую страницу. Понимаете, что произойдёт?
Короче: если функция нужна только форме, зачем её пихать в глобальную область видимости ( == делать полем объекта window) ? Переделайте в function expression и засуньте в анонимный обработчик для события DOM Ready. Обработчик замкнёт контекст, и будет хорошо.