Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> foreach с заданым количеством итераций 
:(
    Опции темы
DenWPF
Дата 4.3.2011, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



у меня есть цикл foreach в массиве 5 элементов, мне нужно что foreach  отработал 6 раз. Можно как то сделать?
или проще for ?
PM MAIL   Вверх
Shogun
Дата 4.3.2011, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Конечно for, + он работает в 2 раза быстрее foreach.


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
BuShaRt
Дата 4.3.2011, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Вообще, очень странно, как вы собираетесь по 5-ти элементам сделать 6-шагов. Мистика в программирование?

По сути: если нужен гибкий контроль за циклом, то только FOR.
PM MAIL   Вверх
DenWPF
Дата 4.3.2011, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



вообще я использую это в генерации html.

Код

    <?php foreach($posts as $key => $value):?>
    <li>
        <a href="<?php echo $key;?>" class="<?php echo ($key == $current_page ? 'current' : '')?>">
            <?php echo $value;?>
        </a>
    </li>
    <?php endforeach;?>



это само php ? или это во фреймворке в котором пишу?
PM MAIL   Вверх
Muerto
Дата 4.3.2011, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



DenWPF Это php смешанный с html

endforeach; кстати редко вижу не в шаблонизаторе


--------------------
user posted image
PM MAIL   Вверх
BuShaRt
Дата 4.3.2011, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Я бы вам посоветовал не браться за "фреймворки", если Вас они так путают. 
PM MAIL   Вверх
ksnk
Дата 4.3.2011, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(DenWPF @  4.3.2011,  13:41 Найти цитируемый пост)
массиве 5 элементов, мне нужно что foreach  отработал 6 раз


Цитата(DenWPF @  4.3.2011,  17:46 Найти цитируемый пост)
<?php foreach($posts as $key => $value):?>


а что должно получится-то в конце? Из 5-и элементов массива 6 ссылок как сделать?




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
HnH
Дата 4.3.2011, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 23.2.2006
Где: Питер

Репутация: 1
Всего: 1



Вообще foreach лучше использовать когда идентификаторы полей в массиве идут не по порядку, или вообще буквенные ([1]=>'asd',[15]=>'asd2',[iddqd]=>'asd3';) Во всех остальных случаях используйте for, он и быстрее и более гибок.
PM MAIL WWW ICQ   Вверх
DenWPF
Дата 5.3.2011, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



мне это нужно что бы создать 6 ячеек, в 5 из них будет картинка а 6 не будет...

вот как это сделать с php + html?
PM MAIL   Вверх
ksnk
Дата 5.3.2011, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(DenWPF @  5.3.2011,  01:53 Найти цитируемый пост)
5 из них будет картинка а 6 не будет

И кто мешает добавить строчку "без картинки" сразу после цикла?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
DenWPF
Дата 5.3.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



по тому что я же не знаю, будет не хватать одной или 2 картинки...

я конечно могу считать в цикле, но это не красиво.
PM MAIL   Вверх
ksnk
Дата 5.3.2011, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(DenWPF @  5.3.2011,  11:02 Найти цитируемый пост)
я конечно могу считать в цикле, но это не красиво. 

Это про что? Про то, что нужно определить четное количество элементов или нет?
count непоможет?



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
DenWPF
Дата 5.3.2011, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Ну в foreach я смогу ввести переменную count а потом проверять сколько не хватает.
PM MAIL   Вверх
ksnk
Дата 5.3.2011, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Я про то, что count от массива даст количество элементов в массиве. Если нужно вычислить четно оно или нет - есть оператор & 1 Так что если нужно какую табличку умным образом заполнить, то все вполне решаемо без дополнительных переменных и счетчиков...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Shogun
Дата 5.3.2011, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Охохох...

Код

$i =0;

foreach ($posts as $k=>$v)
  {
    echo '<li>', $k, '-', $v, '</li>';

    $i++;
  }

if ($i<6)
  {
    for($i; $i<6; $i++)
      {
        echo '<li>...</li>';
      }
  }


что-то такое... или так:

Код

  for($i=0; $i<6; $i++)
    {
      if (isset($posts[$i]))
        {
          list($k, $v) = $posts[$i];
          echo '<li>', $k, '-', $v, '</li>';
        } 
      else
         {
            echo '<li>...</li>';
         }
    }


вариантов много... вроде это Вам нужно как я понял



--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0936 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.