Здравствуйте, у меня проблема такая, что в .csv файле имеются несколько строчек с одинаковым кодом и одинаковым размером. Допустим: ID Размер 100 5 200 6 100 5 500 10 100 7 Скрипт для ID выводит размер в <select>, Если id = 100 то он выводит 5, 5, 7. Как можно сделать чтобы размер не повторялся? чтобы выводило 5, 7 ? PHP: print '<select class="classic" style="width:160px;" name="city" id="myselect">'; for($i=0; $datssa=fgetcsv($f,1000,";"); $i++) { $ifIDa = $datssa[1]; if (preg_match("/".preg_quote($ido)."/i",$ifIDa)) { print '<option value='.$datssa[2].' tirzniecibascena='.$datssa[14].' cena='.$datssa[12].'>'.$datssa[3].'</option>'; } } print '</select>';
PHP: array_unique($array); // удаляет все повторяющиеся значения массива --- Добавлено --- т. е. возвращает массив без повторяющихся значений...
вот тут подробно описано как работает функция: https://php.ru/manual/function.array-unique.html почитай и всё должно проясниться.
После получения массива данных из файла CSV, их, данные, надо прогнать через функцию array_unique($array). В вашем примере с массивом лучше работать через foreach: PHP: print '<select class="classic" style="width:160px;" name="city" id="myselect">'; $data = array_unique(fgetcsv($f,1000,";")); $i=0; foreach ($data as $row) { $ifIDa = $row[1]; if (preg_match("/".preg_quote($ido)."/i",$ifIDa)) { print '<option value=' . $row[2] . ' tirzniecibascena=' . $row[14] . ' cena=' . $row[12] . '>' . $row[3] . '</option>'; $i++; } } print '</select>';
Ох, блин, извиняюсь за свой код выше, я не учёл,что функция fgetcsv() читает файл построчно, поэтому мой код не будет работать.
https://www.example.com/stock/EUR-lat-21.csv --- Добавлено --- у меня никак не получается, жду вашего ответа.
PHP: print '<select class="classic" style="width:160px;" name="city" id="myselect">'; $data = []; while ($dataTemp = (fgetcsv($f,1000,";"))){ $data[] = $dataTemp; } $dataOut = array_unique($data); $i=0; foreach ($dataOut as $row) { $ifIDa = $row[1]; if (preg_match("/".preg_quote($ido)."/i",$ifIDa)) { print '<option value=' . $row[2] . ' tirzniecibascena=' . $row[14] . ' cena=' . $row[12] . '>' . $row[3] . '</option>'; $i++; } } print '</select>'; Дружище, у тебя прям много тем, это хорошо, что ты чем-то занимаешься. Но видно прям, что у тебя задача не научиться, а использовать нас нахаляву для каких-то своих нужд. Давай что-то с этим делать
Извиняюсь за массовые темы по этому поводу, я учусь там где меня исправляют.... Код не рабочий :/ где то ошибка.