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
Форумы портала PHP.SU :: Версия для печати :: Форма поиска значения в массиве
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Форма поиска значения в массиве

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

1. Rus88 - 03 Сентября, 2009 - 13:58:42 - перейти к сообщению
Вот что у меня получилось, подправьте пжл

<form action="" method="post">
<input name="text" type="text">
<input name="submit" type="submit">
</form><br><br>
<?
if(isset($_POST['submit']));
{
$result = array("1","2","3","4","5","6","7","8","9","10","11","12","13");

echo '<PRE>';
print_r($result);
echo '<PRE>';
echo "Вы ввели число -&nbsp;".$_POST['text']."<br><br><br>";
echo "есть такое значение!!!";
if (!isset($result))
{echo "не найдено!!!";}
}



?>
2. Roler - 03 Сентября, 2009 - 14:39:42 - перейти к сообщению
А что править? Оно не работает, выдаёт ошибки, матерится?
3. Nikola - 03 Сентября, 2009 - 14:46:18 - перейти к сообщению
Можно конечно сделать более изящней, но это тоже работает:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo'
  4. <form action="" method="post">
  5. <input name="text" type="text">
  6. <input name="submit" type="submit">
  7. </form><br><br>
  8. ';
  9. function serchmas($mas,$numb)
  10. {
  11.   $x=3;
  12.         for($i=0;$i<count($mas);$i++)
  13.         {
  14.         if($mas[$i]==$numb)
  15.         {
  16.       echo "есть такое значение!!!";
  17.       exit;
  18.     }
  19.     else{
  20.      $x=0;
  21.      }
  22.     }
  23.     if($x==0)
  24.     echo "не найдено!!!";
  25.  
  26. }
  27.  
  28. if(isset($_POST['submit'])&& isset($_POST['text']));
  29. {
  30.  $result = array(1,2,3,4,5,6,7,8,9,10,11,12);
  31.  echo '<PRE>';
  32.  print_r($result);
  33.  echo '<PRE>';
  34.  echo "Вы ввели число -&nbsp;".$_POST['text']."<br><br><br>";
  35.  serchmas($result, $_POST['text']);
  36. }
  37. ?>
  38.  
  39.  
4. Champion - 03 Сентября, 2009 - 14:50:01 - перейти к сообщению
Это всё здорово конечно, но есть функция in_array() Улыбка
5. Nikola - 03 Сентября, 2009 - 14:51:46 - перейти к сообщению
Строку 28 можно переписать :

(Добавление)
Champion пишет:
Это всё здорово конечно, но есть функция in_array() Улыбка

Я только учусь, прошу не пинать Подмигивание
(Добавление)
Действительно там меньше кода:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo'
  4. <form action="" method="post">
  5. <input name="text" type="text">
  6. <input name="submit" type="submit">
  7. </form><br><br>
  8. ';
  9. function serchmas($mas,$numb)
  10. {
  11.  if (in_array($numb, $mas))
  12.     echo "есть такое значение!!!";
  13. else echo "не найдено!!!";
  14.  
  15. }
  16.  
  17. if(isset($_POST['text']));
  18. {
  19.  $result = array(1,2,3,4,5,6,7,8,9,10,11,12);
  20.  echo '<PRE>';
  21.  print_r($result);
  22.  echo '<PRE>';
  23.  echo "Вы ввели число -&nbsp;".$_POST['text']."<br><br><br>";
  24.  serchmas($result, $_POST['text']);
  25. }
  26. ?>
  27.  
6. Stierus - 03 Сентября, 2009 - 16:00:10 - перейти к сообщению
Nikola, ты функции всегда пихаешь где надо и где не надо ?
7. Nikola - 03 Сентября, 2009 - 16:04:59 - перейти к сообщению
Stierus пишет:
Nikola, ты функции всегда пихаешь где надо и где не надо ?

Это я для наглядности написал сюда функцию, чтоб выделить визуально для Rus88 нужный ему код.
8. Rus88 - 04 Сентября, 2009 - 11:23:00 - перейти к сообщению
что код большой какой та, я придумал получше

вот пример:


PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if(isset($_POST['submit']) && in_array($_POST['text'],array(1,2,3,4,5)))
  4. echo "Значение найдено!!!<br><br><br>";
  5. else echo "Значение не найдено!!!<br><br><br>";
  6. ?>
  7.  
9. Nikola - 04 Сентября, 2009 - 11:32:01 - перейти к сообщению
Rus88 пишет:
что код большой какой та, я придумал получше

Задача стояла сделать работоспособным приведенный Вами код, а не новый создать.

 

Powered by ExBB FM 1.0 RC1