Часто нужно пройти по всем элементам массива PHP и провести какую-нибудь операцию над каждым элементом. Например, вы можете вывести каждое значение в таблицу HTML или задать каждому элементу новое значение.
В данном уроке мы рассмотрим конструкцию foreach при организации цикла по индексированным и ассоциированным массивам.
Цикл по значениям элементов
Самый простой случай использования foreach - это организация цикла по значениям в индексированном массиве. Основной синтаксис:
Foreach ($array as $value) { // Делаем что-нибудь с $value } // Здесь код выполняется после завершения цикла
Например, следующий скрипт проходит по списку режисеров в индексированном массиве и выводит имя каждого:
$directors = array("Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang");
foreach ($directors as $director) {
echo $director . "
";
}
Выше приведенный код выведет:
Alfred Hitchcock Stanley Kubrick Martin Scorsese Fritz Lang
Цикл по ключам и значениям
А что насчет ассоциированных массивов? При использовании такого типа массивов часто нужно иметь доступ к ключу каждого элемента, так же как и к его значению. Конструкция foreach имеет способ решить поставленную задачу:
Foreach ($array as $key => $value) { // Делаем что-нибудь с $key и/или с $value } // Здесь код выполняется после завершения цикла
Пример организации цикла по ассоциированному массиву с информацией о кинофильмах, выводит ключ каждого элемента и его значение в HTML списке определений:
$movie = array("title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112); echo "
- ";
foreach ($movie as $key => $value) {
echo "
- $key: "; echo "
- $value "; } echo "
Данный скрипт при выполнении выведет:
Title: Rear Window director: Alfred Hitchcock year: 1954 minutes: 112
Изменение значения элемента
А как обстоит дело с изменением значения элемента при проходе цикла? Вы можете попробовать такой код:
Foreach ($myArray as $value) { $value = 123; }
Однако, если запустить его на выполнение, то вы обнаружите, что значения в массиве не изменяются . Причина заключается в том, что foreach работает с копией значений массива, а не с оригиналом. Таким образом оригинальный массив остается нетронутым.
Для изменения значений массива вам нужна ссылка на значение. Для этого нужно поставить знак & перед переменной значения в конструкции foreach:
Foreach ($myArray as &$value) { $value = 123; }
Например, следующий скрипт проходит циклом каждый элемент (имя режиссера) в массиве $directors , и использует функцию PHP explode() и конструкцию list для перемены мест имени и фамилии:
$directors = array("Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang");
// Изменяем формат имени для каждого элемента
foreach ($directors as &$director) {
list($firstName, $lastName) = explode(" ", $director);
$director = "$lastName, $firstName";
}
unset($director);
// Выводим конечный результат
foreach ($directors as $director) {
echo $director . "
";
}
Скрипт выведет:
Hitchcock, Alfred Kubrick, Stanley Scorsese, Martin Lang, Fritz
Отметим, что скрипт вызывает функцию unset() для удаления переменной $director после завершения первого цикла. Это хорошая практика, если вы планируете использовать переменную позже в скрипте в другом контексте.
Если не удалять ссылку, то есть риск при дальнейшем выполнении кода случайной ссылки на последний элемент в массиве ("Lang, Fritz"), если далее использовать переменную $director , что приведет к непредвиденным последствиям!
Резюме
В данном уроке мы рассмотрели, как использовать конструкцию PHP foreach для организации цикла по элементам массива. Были рассмотрены вопросы:
- Как организовать цикл по элементам массива
- Как получить доступ к ключу и значению каждого элемента
- Как использовать ссылку для изменения значений при проходе цикла
Доброго дня.
Для хранения и переноса больших объемов информации довольно удобно использовать внешние жесткие диски . Многие, конечно, возразят - ведь есть "облака". Но далеко не всю информацию можно там хранить (есть конфиденциальность и все дела...), да и интернет у нас не везде и всегда быстр.
Согласитесь, удобно, когда на внешнем носителе у вас есть музыка, фотки, фильмы, игры и придя в гости, вы можете быстренько подсоединить к ПК свой диск и включить проигрывание приятной композиции...
В этой статье хочу привести несколько важных моментов (на мой взгляд), на которые следует обратить внимание при выборе и покупке внешнего диска. Я, конечно, не был никогда на заводе изготовителе подобных устройств, и тем не менее, кое какой опыт () есть: на работе приходится иметь дело с тремя десятками подобных носителей, да и дома - еще десяток.
7 моментов при выборе внешнего HDD
⑴ Объем накопителя
Чем больше - тем лучше!
Это правило актуально и для внешних жестких дисков (места никогда много не бывает). На сегодняшний день, одни из самых популярных объемов - это 1-4 ТБ (и самых дешевых в плане цена/кол-во ГБ). Поэтому, рекомендую присматриваться к дискам именно этого объема.
Про диски 5-8 ТБ и более...
Такие тоже есть в сегодняшней продаже. Но есть пару "но", на которые я бы порекомендовал обратить внимание:
- не "обкатанные" технологии - надежность таких дисков, часто, оставляет желать лучшего. Да и вообще, я бы не рекомендовал сразу хвататься за любые новые и большого объема диски (пока еще производители доведут технологию их изготовления до совершенства...);
- таким дискам часто необходимо дополнительное питание. Если вы покупаете диск для ноутбука или др. переносного гаджета (который хотите подключать только к USB порту) - то подобные диски создадут вам лишние "проблемы"...
⑵ Про интерфейс подключения
Самые популярные интерфейсы сейчас в продаже - это USB 2.0 и USB 3.0. Рекомендую сразу же "прицеливаться" и выбирать USB 3.0 (до 5 Гбит/с; разницу в скорости заметите даже на глаз).
На практике, обычно, скорость копирования/чтения с внешнего диска по USB 2.0 - достигает 30-40 Мб/с, по USB 3.0 - до 80-120 Мб/с. Т.е. разница есть, тем более, что диск USB 3.0 - универсальный, и его можно подключить даже к тем устройствам, которые поддерживают только USB 2.0.
Кстати, чтобы отличить порт USB 2.0 от USB 3.0 - обратите внимание на цвет. Сейчас большинство производителей помечает порты USB 3.0 синим цветом.
Как отличить порт USB 3.0 от порта USB 2.0 (USB 3.0. порт помечен синим цветом)
Кстати, если у вас на ноутбуке (компьютере) есть новый порт USB Type-C (скорость до 10 Гбит/c) - то сейчас в продаже начинают появляться диски с подобным интерфейсом, и есть смысл присмотреться к таким моделькам. Также отмечу, что есть всевозможные переходники для подключения дисков с USB 3.0 (например) к новому порту USB Type-C.
Дополнение : есть также и другие стандарты SATA, eSATA, FireWire, Thunderbolt. Встречаются они гораздо реже, чем USB и останавливаться на них не вижу смысла, т.к. абсолютное большинство пользователей устроит USB интерфейс.
⑶ Про отдельный блок питания
Есть диски как с дополнительным источником питания, так и без оного (работающие от питания USB порта). Как правило, диски, работающие только от USB порта не превышают объемом 4-5 ТБ (это максимум, что я встречал в продаже).
Отмечу, что диски с дополнительным адаптером работают быстрее и стабильнее. Но, все-таки, лишние провода создают неудобство, и не всегда есть возможность подключить диск к розетке - например, при использовании диска в работе за ноутбуком.
Есть еще одна проблема, на которую стоит обратить внимание : не всегда и не всем моделям дисков хватает питания от USB порта (например, в тех случаях, когда устройство работает от небольшого нетбука или к USB подключен не только диск - питания для HDD может не хватать!). В случаях нехватки питания - диск может просто стать "невидимым". Об этом я указывал в этой статье:
Из практики...
Дискам, которым хватало питания от USB порта: Seagate Expansion 1-2 TB (не путать с линейкой Portable Slim), WD Passport Ultra 1-2 TB, Toshiba Canvio 1-2 TB.
Диски, с которыми были проблемы (и время от времени они становились невидимыми в Windows): Samsung 1-2 TB, Seagate Portable Slim 1-2 TB, A-DATA 1-2 TB, Transcend StoreJet 1-2 TB.
В принципе, если столкнетесь с нехваткой питания, можно попробовать использовать USB разветвитель с блоком питания. Такое устройство позволит подключать к одному порту USB - сразу несколько дисков, и всем им хватит питания (даже при подключении к "слабенькому" нетбуку).
USB разветвитель с блоком питания
⑷ Про форм-фактор // размер
Форм-фактор - задает размер диска. Лет 10-15 назад - специальный класс как "Внешние жесткий диски" отсутствовал, и многие использовали обычные HDD, уставленные в специальный бокс (коробку) - т.е. собирали самостоятельно такой переносной диск. Оттуда и вышли два самых популярных форм-фактора внешних HDD - 2,5 и 3,5 дюйма.
Большие, тяжелые и габаритные диски. Наиболее емкие на сегодняшний день (емкость одного HDD достигает 8 ТБ и более!). Больше всего подходят для стационарного ПК (либо к ноутбуку, который редко переносят). Как правило, обеспечивают более высокую скорость передачи данных (по сравнению с 2,5").
Подобные диски редко выпускаются в ударопрочных корпусах, поэтому они крайне бояться тряски или вибраций. Еще одна особенность: они не могут работать без блока питания (совсем!). Лишние провода не добавляют им удобства...
Стационарный внешний жесткий диск 3,5" (обратите внимание на габариты) - подключается к сети 220В через блок питания
Наиболее популярный и востребованный тип дисков. Их габариты сопоставимы с обычным смартфоном (чуть больше). Большинству дисков хватает питания USB порта для полноценной работы. Удобны как в дороге, так и дома, для подключения как к ПК, так и к ноутбуку (да и вообще, к любой технике с USB портом).
Нередко, когда подобные диски помещены в спец. ударопрочный корпус, позволяющий им продлить "живучесть" (актуально для дисков, которые часто бывают в дороге и подвергаются вибрациям).
Из минусов : их емкость несколько ниже, чем в 3,5" дисков (на сегодняшний день достигает 5 ТБ). Также некоторым моделям дисков не всегда хватает питания USB порта, и они "отваливаются" при работе (т.е. становятся невидимыми для ОС Windows).
⑸ Скорость работы диска
Ваша скорость работы с диском зависит от нескольких составляющих:
- от интерфейса : на сегодняшний день наиболее лучший вариант по соотношению цены/скорости - это стандарт USB 3.1 (набирает также популярность USB Type-C);
- от скорости вращения шпинделя : во внешних накопителях встречаются 5400 об/мин, 7200 об/мин и 4200 об/мин. Чем выше обороты - тем выше скорость считывания информации (и тем сильнее шумит диск, и сильнее греется). Обычно 2,5" диски идут 4200 и 5400 об/мин., диски 3,5" - 7200 об/мин.;
- от размера кэша (временной памяти, позволяющей получать быстрый доступ к самой часто-используемой информации) : сейчас наиболее популярные диски с кэшем 8-64 МБ. Естественно, что чем выше кэш - тем диск дороже...
Личное мнение : в большинстве случаев, внешние диски покупаются для складирования различных мультимедиа данных - музыки, фильмов, фото и т.д. И при таких задачах, разница в скорости работы диска с 7200 об/мин и 5400 об/мин - не существенна, и не играет большой роли. Единственным моментом (в плане скорости) при выборе, я бы акцентировал внимание на наличие интерфейса USB 3.1 (а то в продаже еще достаточно много дисков с интерфейсом USB 2.0).
⑹ Защита от влаги и мех. повреждений. Пароли и защита от взлома
Некоторые модели дисков имеют дополнительную защиту от ударов, от пыли, влаги и пр. Естественно, подобные диски стоят дороже обычных, иногда, стоимость выше в несколько раз!
На мой взгляд, все эти навороты - если и помогают, то только уж от совсем незначительных происшествий. Если диск ждет сильный удар - то корпус хоть и смягчит его, но сильно делу не поможет. Исходя из своей практики "печальных" случаев, скажу, что ударопрочный корпус у моделей, стоимость которых не превышает 350$, не предотвращала повреждение диска. Более дорогие диски, не использовал, и критиковать заочно не могу .
На мой взгляд, если и покупать подобные диски - то за стоимость не выше чем на 10-20% от стоимости других дисков (и уж точно подобная защита не стоит как 2-3 обычных диска).
Добавлю, что нередко диски выходят из строя и без всяких ударов и сотрясений. Я бы больше рекомендовал обращать внимание на надежность линейки (модельного ряда HDD) и отзывов о ней.
Что касается всевозможных парольных защит накопителя, то диск можно защитить и с помощью бесплатных утилит (причем, неизвестно, что будет надежнее ).
⑺ Про производителей, что понадежнее
Понятно, что всё, что написано ниже - это условные и не очень-то репрезентативные данные. Т.к. чтобы сделать реальную статистику самых надежных дисков - необходимо протестировать тысячи дисков (а не несколько десятков, как я). И тем не менее, выскажу свою точку зрения...
- WD My Passport - одни из самых надежных, не один диск из этой линейки не вышел из строя. Да и к работе нареканий особых нет: не шумят, не греются, всегда "видимы". Ценник на 10-15% на них выше, чем на другие аналогичные диски, но они того стоят. Добавлю, что также их габариты несколько больше, чем у тех же Seagate Portable Slim (но на мой взгляд это не существенно) ...
- WD My Cloud - в принципе, все то же самое, что сказано выше, актуально и для этой линейки;
- Toshiba Canvio - несмотря на то, что диски не так давно появились на рынке, нареканий к ним особо нет. Пока ни с одним из 4-х дисков проблем не было;
- Seagate Expansion - средние по качеству (5 из 7 дисков работают, 2 были сданы по гарантии, не проработали и года...). Проблем с "видимостью" нет, но отметил бы, что многие диски из этой линейки "шумят" при работе;
- Seagate Portable Slim - на мой взгляд, худшая линейка (везде, где встречается "Seagate Slim" - лучше остерегаться!). Возможно, что просто не повезло так мне, но 5 из 5 дисков пришли в негодность в течении 1,5 года после покупки;
- A-DATA - в целом работают (4 из 5 дисков проработали уже больше года), но дискам этого производителя не всегда хватает питания от USB при использовании на ноутбуках;
- Transcend StoreJet - интересный вариант т.к. их диски защищены спец. корпусом от легких сотрясений. По надежности никаких вопросов не возникало (правда, у меня их всего 2), есть проблема с "шумом" при работе и "видимостью" без доп. питания;
- Silicon Power (Armor) - отзыв негативный, т.к. 3 из 3 дисков не оправдали даже начальных ожиданий: скорость передачи данных невысока (даже при подключении к USB 3.0), часто "отваливаются" и становятся невидимыми. Не работа - а кошмар...
А чем пользуетесь вы?
Дополнения по теме приветствуются...
Всем удачи и хорошего выбора!
Этой статьей наш сайт продолжает целый цикл полезных материалов, целью которых станет облегчение выбора какого-либо товара из тысяч предложенных на рынке вариантов. Согласитесь, выбор конкретной модели какого-то устройства всегда отнимает много времени, которое можно потратить с пользой. В сегодняшнем материале мы поговорим о выборе внешнего жесткого диска .
Отличный вариант для тех, кто просто хочет расширить память для хранения данных своего персонального компьютера или ноутбука. Очень привлекательная цена для 4 ТБ модели и самый аскетичный дизайн.
Еще одна недорогая модель. Поставляется со специальным ПО, которое может защитить ваши данные паролем. Кроме того, питается только через USB-порт и не требует дополнительного адаптера.
Очередная не слишком дорогая модель, которая выделяется лишь своей стоимостью и невыразительным внешним видом.
Этот диск не только продается в корпусах разных цветов, но и может на аппаратном уровне шифровать данные пользователя, а также осуществлять автоматическое резервное копирвоание с помощью поставляемого в комплекте ПО WD SmartWare Pro. Кроме того, эта модель довольно устойчива к сотрясениям - носить ее с собой будет спокойнее.
Терабайтный диск, который весьма устойчив к падениям (производитель заявляет, что он отвечает в этом отношении требованиям армии США) - для этого он помещен в дополнительный силиконовый чехол. Также позволяет осуществлять резервное копирование нажатием одной кнопки.
Отличный внешний жесткий диск, который подойдет тем, кто не планирует часто переносить его с места на место. Хорошо справится, к примеру, с раширением постоянной памяти игровой консоли.
Довольно дорогая, но при этом весьма необычная модель - этот диск может подключаться к локальной беспроводной сети. Таким образом, доступ к файлам на нем можно получить с нескольких устройств, в том числе - со смартфона или планшета (с помощью специального приложения).
Очень дорогая и не слишком емкая модель, которая выделяется на фоне остальных благодаря своему индустриальному дизайну и компактности. Если вам не хочется видеть на столе угрюмую черную коробку, какими являются почти все другие внешние HDD, то Seven спасет положение.
Легкий, тонкий, быстрый и не слишком дорогой внешний HDD, который подойдет для любых задач, но особенно хорошо себя проявит в руках тех, кто часто перемещается с места на место. Стоит отметить, что 4-терабайтная модель в этой линейке использует два 2-терабайтных диска в Raid 0 массиве - она менее надежна, чем полноценные 4-терабайтные диски.
Заключение
Надеемся, что эта статья помогла вам разобраться с непростой задачей выбора внешнего жесткого диска. В следующей статье речь пойдет о