PHP: Ограничить foreach () оператор? [закрытый]

Когда Вы генерируете пароль для пользователя и отправляете его по электронной почте, первая вещь, которую необходимо сделать, когда они сначала входят в систему, если вынуждают их изменить свой пароль. Пароли, созданные системой, не должно быть легко помнить, потому что они должны только быть необходимы однажды.

Наличие, легкое помнить, трудно предположить пароли, является полезным понятием для Ваших пользователей, но не является тем, которое система должна некоторым способом осуществлять. Предположим, что Вы посылаете пароль на счет Gmail своего пользователя, и пользователь не изменяет пароль после входа в систему. Если пароль в учетную запись Gmail поставлен под угрозу, то пароль к Вашей системе поставлен под угрозу.

Настолько генерирующий легкий помнить пароли за Ваших пользователей не полезно, если они должны сразу изменить пароль. И если они не изменяют его сразу, у Вас есть другие проблемы.

34
задан tarnfeld 1 November 2009 в 11:50
поделиться

3 ответа

Вы можете использовать

break;

или

foreach() if ($tmp++ < 2) {
}

(второе решение еще хуже)

38
ответ дан 27 November 2019 в 15:51
поделиться

Есть много способов, один из них - использовать счетчик:

$i = 0;
foreach ($arr as $k => $v) {
    /* Do stuff */
    if (++$i == 2) break;
}

Другой способ - разрезать первые 2 элемента, хотя это не так эффективно:

foreach (array_slice($arr, 0, 2) as $k => $v) {
    /* Do stuff */
}

Вы также можете сделайте что-нибудь вроде этого (в основном то же самое, что и первый foreach, но с for):

for ($i = 0, reset($arr); list($k,$v) = each($arr) && $i < 2; $i++) {
}
86
ответ дан 27 November 2019 в 15:51
поделиться

вы должны использовать оператор break

обычно он используется таким образом

$i = 0;
foreach($data as $key => $row){
    if(++$i > 2) break;
}

таким же образом существует оператор continue , если вам нужно чтобы пропустить некоторые элементы.

18
ответ дан 27 November 2019 в 15:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: