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 :: не могу получить пересечение массивов [2]

 PHP.SU

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


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

> Без описания
JustUserR
Отправлено: 16 Ноября, 2010 - 11:01:52
Post Id



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


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


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




DeepVarvar пишет:
$_POST['gp1']=$a= array('U_110', 'ff', 'AB_170', 'U_191', 'F_2101');
Работоспособность указанной констуркции может осуществляться в языках программирования с использованием специальных грамматических конструкций - обеспечивающих возможность контроля присвавания lvalue-компонентов собственным функциональным обработчиком - с осуществлением передачи целевого rvalue по ссылке - таким образом в общем случае получение указанного синтаксиса возможно в объектной реализации приложения на C++


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
alb22
Отправлено: 17 Ноября, 2010 - 07:53:34
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2010  


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




Ещё один вопрос, а если чекбоксов 30 , то код получается слишком массивным, чем можно заменить конструкцию:
PHP:
скопировать код в буфер обмена
  1. if (isset($a) and isset($b)) {
  2. $result = array_intersect($aa,$bb);
  3. print_r($result); }
  4. elseif (isset($b) and isset($c)) {
  5. $result = array_intersect($bb,$cc);
  6. print_r($result); }
  7. elseif (isset($c) and isset($d)) {
  8. $result = array_intersect($cc,$dd);
  9. print_r($result); }
  10. elseif (isset($c) and isset($a)) {
  11. $result = array_intersect($сс,$aa);
  12. print_r($result); }
  13. if (isset($a) and isset($d)) {
  14. $result = array_intersect($aa,$dd);
  15. if (isset($d) and isset($c)) {
  16. $result = array_intersect($dd,$cc);
  17. if (isset($d) and isset($b)) {
  18. $result = array_intersect($dd,$bb);

используя php ????????????

(Отредактировано автором: 17 Ноября, 2010 - 07:56:49)

 
 Top
alb22
Отправлено: 17 Ноября, 2010 - 10:53:11
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2010  


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




ams
попробовал сделать альтернативный вариант:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $a=$_POST['gp1'];
  3. $b = $_POST['gp2'];
  4. $a1 = array ($a,$b);
  5. $c=$_POST['vilet1'];
  6. $d=$_POST['vilet2'];
  7. $b1 = array($c,$d);
  8. $result = array ();
  9. if (isset ($a)) {
  10. $aa = array('U_110', 'ff', 'AB_170', 'U_191', 'F_2101');
  11. for ($q=0; $q<=4; $q++){
  12. echo $aa[$q]."<br>"; // проверяю на правильность кода
  13. }
  14. echo '<br>';
  15. }
  16.  
  17. if (isset ($b)) {
  18. $bb = array('H_110', 'BC_150', 'AB_170', 'U_190', 'F_210');
  19. for ($k=0; $k<=4; $k++){
  20. echo $bb[$k]."<br>"; // проверяю на правильность кода
  21. }
  22. echo '<br>';
  23. }
  24.  
  25. if (isset ($c)) {
  26. $cc= array('PM_110', 'BC_150', 'P_170', 'U_190', 'F_2101');
  27. for ($j=0; $j<=4; $j++){
  28. echo $cc[$j]."<br>"; // проверяю на правильность кода
  29. }
  30. echo '<br>';
  31. }
  32. if (isset ($d)) {
  33. $dd= array('HG_110', 'HG_150', 'ff', 'U_190', 'F_2101');
  34. for ($f=0; $f<=4; $f++){
  35. echo $dd[$f]."<br>"; // проверяю на правильность кода
  36. }
  37. echo '<br>';
  38. }
  39.  for ($o=0;$o<count($b1);$o++){
  40.     for ($m=0;$m<count($a1);$m++){
  41.         if (isset($b1[$o])and isset($a1[$m])){
  42.             $result=$result+ array_intersect($b1[$o], $a1[$m]);
  43.         }
  44.     }
  45.  }
  46. print_r($result)
  47. ?>

выдаёт мне :

U_110
ff
AB_170
U_191
F_2101

PM_110
BC_150
P_170
U_190
F_2101

Array ( [0] => )
помогите разобраться где тут не так , может вместо count что то другое использовать ???????????
 
 Top
JustUserR
Отправлено: 18 Ноября, 2010 - 14:59:01
Post Id



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


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


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




alb22 пишет:
Ещё один вопрос, а если чекбоксов 30 , то код получается слишком массивным, чем можно заменить конструкцию
Использование конструкция языка PHP предполагает возможность осуществления обращения к идентификаторы переменной задание которого производится на основе строковой константы или вычисления выражения в процессе исполнения - таким образом вы можете осуществить реализацию общего цикла включающего в себя имена целевых массивов на уровне представления информационных полей


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
alb22
Отправлено: 18 Ноября, 2010 - 19:21:52
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Нояб. 2010  


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




Улыбка
 
 Top
JustUserR
Отправлено: 18 Ноября, 2010 - 22:20:05
Post Id



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


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


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




alb22 В качестве возможного частного варианта для осуществления компактизации приведенного вами PHP-скрипта - возможно использование автоматической генерации кода посредством функции eval или create_function - с обеспечение предварительного представления входящий иднетификаторов в соответствующем уровне трактования


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Shkur
Отправлено: 16 Сентября, 2011 - 09:33:22
Post Id


Новичок


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


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





JustUserR когда читаешь то что вы написали становится жутко, но зато понятно Не понял
 
 Top
illy
Отправлено: 16 Сентября, 2011 - 09:43:48
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




Действительно жутко. Аш читать дальше отпадает желание Огорчение
Лучше по-простому, но по понятнее (для самоучек) Закатив глазки


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
SAD
Отправлено: 16 Сентября, 2011 - 09:44:26
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




Зачем вы подняли старый пост??!
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB