Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: двойное условие

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: почему двойное условие не выполненно?
imediasun
Отправлено: 07 Марта, 2015 - 15:45:02
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


PHP:
скопировать код в буфер обмена
  1.  
  2. public function add_pictures(){
  3.         $n=0;
  4.         $trend=array('path'=>'path','jhd'=>'jhd','path_0'=>'path','jhd_0'=>'jhd');
  5.         foreach($trend as $key=>$val){
  6.         //каждое значение пути записываем в рата по индексу
  7.         if(stristr($key,'path') == true){
  8.         $rata[$n]=$val;
  9.         print_r($rata[$n]);//здесь есть значение
  10.         }
  11.         if(stristr($key,'jhd') == true){
  12.         $gata[$n]=$val;
  13.         print_r($gata[$n]);//здесь есть значение
  14.         }
  15.        
  16.         if(isset($rata[$n]) and (isset($gata[$n]))){
  17.         echo "10$";
  18.         }
  19.         else {
  20.         echo "999";/почему вывод таков
  21.         }
  22.        
  23.         $n++;
  24.         }
  25.         }
  26.  

По моему должна быть десятка
 
 Top
igosja
Отправлено: 07 Марта, 2015 - 16:00:31
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Проблема в $n++.
У вас срабатывают первые два условия через один $n, поэтому if(isset($rata[$n]) and (isset($gata[$n]))) постоянно дает false.

(Отредактировано автором: 07 Марта, 2015 - 16:05:26)

 
 Top
Мелкий Супермодератор
Отправлено: 07 Марта, 2015 - 16:01:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




- $trend=array('path'=>'path','jhd'=>'jhd','path_0'=>'path','jhd_0'=>'jhd');
+ $trend=array('path'=>'path','jhd'=>'jhd','path_0'=>'path','jhd_0'=>'jhd', 'pathjhd'=>'somevalue');


-----
PostgreSQL DBA
 
 Top
jaroslav.tavgen
Отправлено: 07 Марта, 2015 - 18:47:44
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2015  


Помог: 0 раз(а)




Условие не выполняется, потому что:

PHP:
скопировать код в буфер обмена
  1.         if(isset($rata[$n]) AND (isset($gata[$n]))){
  2.  


Если бы было "or", то тогда выводилась бы десятка.

(Отредактировано автором: 07 Марта, 2015 - 18:54:32)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB