imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 15.03.2003, 15:45     # 1
dob
Guest
 
Сообщения: n/a

поиск по массиву

ПИШУ В PHP

проблема с array_search

вот часть скрипта

$k = array_search($a,$b);
if( $k == false){
echo '<b>'.$fall.'</b>';
}else
{
echo '<b>'.$b[$k].'</b>';
}

и чёй то оно не работает =(
 
Старый 15.03.2003, 19:50     # 2
dob
Guest
 
Сообщения: n/a

ну скажите профессионалы чего у меня не так?
мож надо поставить
if($k === fakse)
?
 
Старый 15.03.2003, 21:05     # 3
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
да.... функция возвращает NULL а не FALSE

$k = array_search($a,$b);
if( $k === false){
echo '<b>'.$fall.'</b>';
}else
{
echo '<b>'.$b[$k].'</b>';
}
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 15.03.2003, 21:12     # 4
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
как насчёт
PHP код:
$k array_search($a,$b);
if(empty(
$k))
{
    echo 
'<b>'.$fall.'</b>';
}
else
{
    echo 
'<b>'.$b[$k].'</b>';

Aeon вне форума  
Старый 15.03.2003, 22:11     # 5
dob
Guest
 
Сообщения: n/a

Unhappy

ё маё вот у меня что я пишу короче

Код:
$objects=explode(",",$user[objects]);
$clips=array("clip1","clip2","clip3","clip4","clip5","clip6","clip7","clip8","clip9","clip10","clip11");
$ned=array_search($clips,$objects);
if($ned===false){
echo "<img src=\"http://myhost.ru/i/w1.gif\" width=\"60\" height=\"20\">";
}else{
echo "<img src=\"http://myhost.ru/i/".$objects[$ned].".gif\" width=\"60\" height=\"20\">";
//тут кол-во вещей не может быть >1 ну никак не может.
}
а он мне выдаёт ошибку , причём пишет строку например 70 , а хотя у меня в скрипте 69 строк всего....в переменной $objects - тоже содержутся названия вещей.... AEON мне предлагал один способ как сделать но он был не гибким , потому как некоторых вещей может быть более чем 1 штука , а этот более гибок , но не работает 8(
я всё вызываю правильно,подключаюсь ко всему и т.д и т.п ошибка в этой части скрипта а где там?
 
Старый 15.03.2003, 22:39     # 6
dob
Guest
 
Сообщения: n/a

СЛАВА AEON!!!!!!!!!С ЕГО СКРИПТОМ ЗАРАБОТАЛО!!!!
 
Старый 15.03.2003, 22:42     # 7
dob
Guest
 
Сообщения: n/a

ан нет =( он всё время терь выдаёт как empty , даже если не пусто =(
 
Старый 16.03.2003, 01:38     # 8
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
вот те процедурка

PHP код:
function scan_array($array$value){
 for(
$i=0$i<count($array); $i++){
  if(
$array[$i]==$value)return($i);
 }
 return(
false);
}

$clips=array("clip1","clip2","clip3","clip4","clip5","clip6","clip7","clip8","clip9","clip10","clip11");
$value="clip1";

if(
scan_array($clips,$value)!=false){echo $clips[scan_array($clips,$value)];}else{echo "not found";} 
__________________
Всё будет хорошо!

Последний раз редактировалось Stasik; 16.03.2003 в 03:35.
Stasik вне форума  
Старый 16.03.2003, 10:21     # 9
dob
Guest
 
Сообщения: n/a

Стасик спасибо большое, но у меня $value как у тебя написано - является массивом и там разные вещи и не тольео именно такого хар-ра.
Можно ли данный пример использовать для массива??
 
Старый 16.03.2003, 15:39     # 10
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
можно всё.... опиши подробнее... сделаем
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 16.03.2003, 20:02     # 11
dob
Guest
 
Сообщения: n/a

Post Описываю подробнее всё что у меня есть и всё что надо получить

Главное до конца дочитайте!
Значит так я получаю список всех вещей со страницы , после открытия и преобразований , с помощью $user[objects]
теперь я для удобства использования я делаю так :
$objects = explode("," , $user[objects]);
С этим проблем нет.
2) для того , чтобы найти нужную мне вещь в массиве $objects я хочу использовать функцию array_search , но как показали выше сказаные ответы - не выходит...
3)Мне необходимо просмотреть на идентичность значения их двух массивово , т.е. например я хочу найти все спортивные вещи - у меня есть массив
$sport=array("lighi","boks","grusha","streli" и т.д );
предположим , что у меня в массиве $objects такие значения
("havchik","lampa","lighi","soska","valenki"и т.д. );

Вот значит теперь постараюсь изложить ещё понятнее что именно мне требуется : поиск на сходство по двум массивам
ИЗВЕСТНО ЧТО ВЕЩЬ МОЖЕТ БЫТЬ ТОЛЬКО ОДНА ,НО В ОДНОМ ИЗ ВАРИАНТОВ МОЖЕТ БЫТЬ ДО 3Х
и так мне надо найти номер вещи , которая соостветсвует одному из значений массива $sport - и обратится к ней - вывести картинку , которая соостветсвует этой вещи .
Как я планировал обращаться в стиле $objects[$(а тут номер вещи)] -- я это хотел сделать с помощью array_search , но тама как я понял тока для булей доступно....
В принцапе всё что не понятно скажи поясню..
 
Старый 16.03.2003, 23:54     # 12
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
PHP код:
<?
function cross_arrays($array1, $array2){
$array3=array();
 for($i=0; $i<count($array1); $i++){
  for($j=0; $j<count($array2); $j++){
   if($array1[$i]==$array2[$j])array_push($array3, $array2[$j]);
  }
 }
 return($array3);
}

$sport=array("lighi","boks","grusha","streli");
$objects=array("havchik","lampa","lighi","soska","valenki","boks");

$results=cross_arrays($objects, $sport);

echo join(", ", $results);
?>
вот... попускай
__________________
Всё будет хорошо!
Stasik вне форума  
Старый 17.03.2003, 15:00     # 13
dob
Guest
 
Сообщения: n/a

Warning: Bad arguments to join() in /usr/local/home/host/www/bla.php on line 65
...вот что мне выдаёт после того , как я всё сделал как ты написал..
 
Старый 17.03.2003, 22:08     # 14
Aeon
::VIP::
 
Аватар для Aeon
 
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166

Aeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собойAeon Имеются все основания чтобы гордиться собой
а ты уверен что в результате что-то выходит?
PHP код:
// попробуй заменить:
echo join(", "$results);
// на
if(!empty($results))
{
    echo 
'<pre>';
    
print_r($results);
    echo 
'</pre>';
}
else
{
    echo 
'<strong>no results found</strong>';


Последний раз редактировалось Aeon; 18.03.2003 в 03:41.
Aeon вне форума  
Старый 17.03.2003, 23:24     # 15
dob
Guest
 
Сообщения: n/a

Пиво с меня без базара!
 
Старый 17.03.2003, 23:28     # 16
Stasik
Registered User
 
Аватар для Stasik
 
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660

Stasik Известность не заставит себя ждатьStasik Известность не заставит себя ждать
проглядел
__________________
Всё будет хорошо!
Stasik вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:04.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.