Как заполнить массив без дубликатов во время циклаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как заполнить массив без дубликатов во время цикла

Сообщение Anonymous »

У меня есть сценарий PHP, который считывает большой CSV и выполняет определенные действия, но только в том случае, если поле «Имя пользователя» уникально. CSV используется более чем в одном скрипте, поэтому изменение ввода с CSV на содержание только уникальных имен пользователей не является вариантом. Я задаюсь вопросом) идет так: < /p>

Код: Выделить всё

$allUsernames = array();
while($row = fgetcsv($fp)) {
$username = $row[0];
if (in_array($username, $allUsernames)) continue;
$allUsernames[] = $username;
// process this row
}
< /code>

Поскольку этот CSV может быть довольно большим, это то, что in_array < /code> бит заставил меня задуматься. Самая идеальная ситуация при поиске в массиве для участника - это, если он уже отсортирован, так что [b] Как бы вы создали массив с нуля, сохраняя его в порядке [/b]? Как только это будет в порядке, будет ли более эффективный способ его поиска, чем использование in_array () 
, учитывая, что, вероятно, не знает, что массив отсортирован?

Подробнее здесь: https://stackoverflow.com/questions/490 ... le-looping
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»