12 / 7 / 11
Регистрация: 10.09.2012
Сообщений: 844
1

Вывести в цикле только одно значение

29.02.2016, 00:49. Показов 2745. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Переделываю дизайн и застрял на выводе языковых иконок. Вот что имею
PHP
1
2
$lang_go // текущий язык, строка
$langs // массив  со строками (en,ru, и т.д.)
Теперь нужно вывести сами значки, имена которых соответствуют строкам.
Перебираю

HTML5
1
2
3
<?php foreach ($langs as  $val) {?>
<img   src ="/<?php echo $val; ?>.png" />
<?php } ?>
Но теперь нужно значку, который соответствует текущему языку присивоить класс или разделить в цикле языки, т.е. чтобы вывелись только те которые не соответствуют условию
PHP
1
$val !==$lang_go
Пытался как то так
HTML5
1
2
3
4
         <?php foreach ($langs as  $val) {
             if($val !== $lang_go){  $lng = $val;?>
<img   src ="/<?php echo $lng; ?>.png" />
<?php }} ?>
Но так выводит одинаковые значки. Подскажите как сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.02.2016, 00:49
Ответы с готовыми решениями:

Как цикле первым N одно значение, следующим увеличивать
Здравствуйте. Подскажите пожалуйста, нужно в цикле первым трем поставить 1, вторым трём 2, третьим...

Как отправить из формы только одно значение?
подскажите как можно передать один элемент формы отдельно? К примеру так: &lt;form...

Как присвоить значение переменной если значение позже устанавливается в цикле?
Кратко: if($_SESSION != &quot;&quot;){ $row = mysql_num_rows(mysql_query(&quot;...&quot;)); if($row &gt; 0) $panel...

Вывести только одно значение y и p
что я делаю не так чтобы выводило только одно значение y и p ?????? Помогите пожалуйста! ...

5
Hello Kitty
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
29.02.2016, 01:07 2
var_dump($langs);
var_dump($lang_go );
приведите.
из того что вы написали нечего не понятно
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,431
29.02.2016, 01:20 3
PHP
1
2
3
4
5
6
<?php
foreach ($langs as  $val) {
             if($val !== $lang_go)
echo '<img   src ="<?=$val;?>.png" />';
}
?>
И какое значение нужно вывести, ведь можно по ключу просто обратится к значению в массиве $langs да и всё. И цикл тут и не нужен.
0
3 / 3 / 1
Регистрация: 23.10.2013
Сообщений: 45
29.02.2016, 01:38 4
WhiteMind, я прошу - "нИчего", очень прошу...

Юрьич, что касается вас:
во-первых это жутко нечитаемый вид, поэтому не используйте его, если не хотите, чтобы на вас ругались, лучше переписать так:
PHP
1
2
3
4
5
6
7
8
foreach ($langs as  $val) 
{
    if($val !== $lang_go)
    {
        $lng = $val;
        echo "<img src ='{$lng}.png/>'";
    }
}
Во-вторых, могу предложить такое решение:
PHP
1
unset($a[array_search($lang_go, $langs)]);
И после этого просто запустить foreach. Что делает, почитайте документацию. Проще удалить один раз, чем каждый раз спрашивать в if-ах.
Но наверняка есть лучшие решения
0
Web Programmer
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
29.02.2016, 01:49 5
PHP
1
2
3
4
5
6
$lang_list = '';
foreach($langs as $val) {
    $lang_list .= '<img ' . ($val == $lang_go ? 'class="active"' : '') . ' src="/' . $val . '.png" />';
}
 
echo $lang_list;
0
12 / 7 / 11
Регистрация: 10.09.2012
Сообщений: 844
29.02.2016, 02:07  [ТС] 6
Всем спасибо. Всё понятно. Вроде получается.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.02.2016, 02:07
Помогаю со студенческими работами здесь

Random в цикле дает одно значение
Random RandomNum = new Random(); while (i &lt; 50) { X =...

Функция rand в цикле выводит одно и то же значение
Всем привет! В общем, прилагаю условие задачи и мой написанный код :) Проблема, как я считаю,...

В цикле вывести 10 раз одно слово
ввести 10 раз одно слова

Если только одно значение
Приветствую, господа! Есть задание, которое звучит вот так &quot;вернуть true, если только одно из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru