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 :: не работает array_diff, подскажите в чем ошибка

 PHP.SU

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


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

> Без описания
Brajt
Отправлено: 05 Января, 2011 - 01:40:42
Post Id


Новичок


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


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




вот код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $db = mysql_connect("localhost", "people", "laco");
  4. mysql_select_db("zaychik",$db);
  5.  
  6. $result = mysql_query("SELECT name FROM mp3");
  7. while ($myrow = mysql_fetch_assoc($result))
  8. {
  9. $name[] = $myrow["name"];
  10. }
  11.  
  12. $result2 = mysql_query("SELECT file_name FROM files WHERE ext='mp3'");
  13. while ($myrow2 = mysql_fetch_assoc($result2))
  14. {
  15. $file_name[] = $myrow2["file_name"];
  16. $file_name2 = preg_replace ("/[^a-zA-ZА-Яа-я0-9\s]/"," ",$file_name);
  17. }
  18.  
  19. $diff = array_diff ($file_name2, $name);
  20. foreach ($diff as $value){
  21. echo "<br/>$value";
  22. }
  23.  
  24. ?>


На экран выводится все что содержится в $file_name2
 
 Top
Реф
Отправлено: 05 Января, 2011 - 02:34:36
Post Id



Частый гость


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


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




Выведите сформированные массивы $file_name2 и $name и убедитесь в том, что ни один из элементов $file_name2 не содержится в $name. Если это и так Вам очевидно, значит внимательнее читайте http://www.php.su/functions/?array_diff .


-----
Думать надо головой, а не головкой!
 
 Top
Brajt
Отправлено: 05 Января, 2011 - 02:51:33
Post Id


Новичок


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


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




выводил. в $file_name2 3 элемента совпадают с $name, т.е. они должны удалиться из $file_name2 и остаток переместиться в $diff. но перемещается почему-то весь $file_name2
 
 Top
Brajt
Отправлено: 05 Января, 2011 - 05:17:54
Post Id


Новичок


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


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




разобрался. проблема была в лишних пробелах, которые на экране выглядели как один пробел
 
 Top
JustUserR
Отправлено: 06 Января, 2011 - 02:05:21
Post Id



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


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


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




Brajt пишет:
Проблема была в лишних пробелах, которые на экране выглядели как один пробел
Для осуществления просмотра значений рассматриваемых информационных полей которые могут включать в себя символы с неявным отображением или управляющей элементы - целесообразно обеспечить их предварительное представления в виде упаковынных pack-последовательностей позволяет реализовать их просмотр в виде кодовых номеров соответствующих байов символов в шестнадцатиричном виде


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB