Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Найти в какой переменной нужное значение

Сообщения:  [1-10]   [11-17] 

 
 автор: blackcement   (16.11.2010 в 13:06)   письмо автору
 
   для: ShadowXak   (16.11.2010 в 07:10)
 

У меня друг сталкивался с такой задачей в универе. Звучала она примерно так: Имеется 10 переменных (a...j), каждая представляет из себя массив данных. Определить в массиве какой переменной содержится значение переменной s='семь'. (задачу задал сам преподаватель, она не из учебника). Решать предлагалось любым способом.
Делал, говорит как-то так:
Все переменные слил в один массив M. Создал ещё оди массив ML, в котором указывались границы старых 10 переменных в массиве M.
Далее искал позицию S в M. Потом смотрел какому элементу ML принадлежит эта позиция.

  Ответить  
 
 автор: ShadowXak   (16.11.2010 в 07:10)   письмо автору
 
   для: ShadowXak   (10.11.2010 в 14:56)
 

Нашел в чем была ошибка моего первого примера.
реализовал следующим образом:

if     (preg_match ('/'.trim($dan).'/i', $a)) {
echo 'в переменной A'.$a;
}elseif (preg_match ('/'.trim($dan).'/i', $b)){
echo 'в переменной B'.$b;
}elseif (preg_match ('/'.trim($dan).'/i', $b)){
echo 'в переменной C'.$c;
}else{
echo 'пусто';



Всем, кто откликнулся, спасибо!

  Ответить  
 
 автор: ShadowXak   (10.11.2010 в 20:33)   письмо автору
 
   для: sim5   (10.11.2010 в 20:14)
 

ладно спасибо за помощь, погляжу, подумаю, попробую реализовать!
пользователь заносит данные через запятую и они добавляются к текущим записям.
ну ладно как я и сказал порешаю если что отпишусь!

  Ответить  
 
 автор: sim5   (10.11.2010 в 20:14)   письмо автору
 
   для: ShadowXak   (10.11.2010 в 19:52)
 

И что, вышеприведенное никак не поймет, что "колбасы" нет среди "валенок", или найдет ее, если она будет? Что кроме как регуляркой тут не обойтись? Если бы вы искали с условием, например, получения всего значения, если есть в нем вхождение того, что ищем, тогда еще можно было бы понять применение рег. выражений.
А вообще, не лучше ли держать такие "портянки" в виде массива, и искать с помощью их функций?

  Ответить  
 
 автор: ShadowXak   (10.11.2010 в 19:55)   письмо автору
 
   для: ShadowXak   (10.11.2010 в 19:52)
 

данные в переменных не пересекаются и не повторяются.

  Ответить  
 
 автор: ShadowXak   (10.11.2010 в 19:52)   письмо автору
 
   для: sim5   (10.11.2010 в 19:45)
 

довайте заного к примеру в $a='перечисление от одного до тысячи каждое введено через запятую' - пример: $a = 'один,два,три,четыре,пять,.........,тысяча';
$b='колбаса,кура,мясо,валенки,.......,машина';

в $dan может быть к примеру "колбаса" или вообще пусто или к примеру "компьютер", но вот "компьютер" - нету не в одной из переменных.

  Ответить  
 
 автор: sim5   (10.11.2010 в 19:45)   письмо автору
 
   для: ShadowXak   (10.11.2010 в 19:31)
 

Или я не понимаю, или...
<?
function getVar($s$v) {
  return 
substr_count($s$v) ? 0;
}

$dan 'шесть'
$a='один,два,три,четыре'
$b='пять,шесть,семь'
$c='восемь,девять';
echo 
getVar($b$dan) ? "есть" "нетю";
Зачем рег. выражения, если у вас явное указание значения, а условий, например, по границам значений нет?

  Ответить  
 
 автор: Trianon   (10.11.2010 в 19:42)   письмо автору
 
   для: ShadowXak   (10.11.2010 в 19:31)
 

>потому как есть вариант не что в $dan будет данных совпадения.

теперь, пожалуйста, эту же мысль, только по-русски, если не затруднит.

  Ответить  
 
 автор: ShadowXak   (10.11.2010 в 19:31)   письмо автору
 
   для: Trianon   (10.11.2010 в 19:21)
 

потому как есть вариант не что в $dan будет данных совпадения.

  Ответить  
 
 автор: ShadowXak   (10.11.2010 в 19:29)   письмо автору
 
   для: Trianon   (10.11.2010 в 19:21)
 

в переменных содержится информация разного характера все данные отсечены запятой, в переменной $dan может быть только информация содержащиеся в любой переменной от запятой до запятой или вообще пустое.

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования