Чтение RSS каналов

Форум

Открыть Ответить

Пара вопросов. PHP.

0

0
1
29.05.2009 19:58:2904.09.2010 13:24:09

Привет, уважаемые господа форума!))
У меня есть пара вопросов к вам касаемо php..


1.
Есть у меня модуль один... с категориями.. у кажой свой id... дело такое - всё просто - из 100 категорий нужно чтобы только в некоторых выводился определенный код... Раньше мне надо было выводить только в трех категориях, и я писал просто вот так:

if (($cid == "10") OR ($cid == "55") OR ($cid == "70")) {
  echo "определенный код для вывода";
}


Сейчас усложнилось - этот код нужно вывести в 15-20 категориях... Этот способ уже думаю не подходит, не буду же столько OR'ов писать... в идеале было бы сделать так например, чтобы я номера категорий через запятую или в столбик куда-то выписал, а скрипт уже смотрел...


____



2.
Второй вопрос таков... Например у меня есть 10 переменных - это числа какие-то - мне нужно сделать следующее - сравнить их все друг с другом, и если какие-либо совпадают, вывести сообщение, содержащее, какие именно переменные совпадают... надеюсь понятно расписал)) спасибо)) очень поможете, если ответите.



Версия системы: SLAED CMS 2.6 Lite
Версия PHP: PHP 5
Сервер: Сервер в интернете
3.91

3.91
2
29.05.2009 20:34:00

Попробуй так:

$arrvars = array(2,5,7,11,10); //Тут пишешь свои значения, которые надо сравнивать с $cid

foreach ($arrvars as $arrcur) {
	if ($cid == $arrcur){
		//Вместо этого комента пишешь, чего тебе надо делать если совпало
		break;
	}
}

3.84

3.84
3
29.05.2009 20:45:0029.05.2009 21:03:49

пасипки, буду пробовать..

____


Большое спасибо! Первый вопрос снят)) Как просто было заюзать массив для этого))

3.91

3.91
4
29.05.2009 21:39:01

Может тебя вот так устроит?

$a0 = 2;
$a1 = 5;
$a2 = 7;
$a3 = 11;
$a4 = 10;
$a5 = 5;
$a6 = 11;
$a7 = 12;
$a8 = 7;
$a9 = 7;

$arrvars = array($a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9);
$z = 1;
for($i=0; $i<count($arrvars); $i++) {
	for ($j=$z; $j<count($arrvars); $j++) {
		if ($arrvars[$i] == $arrvars[$j]) {
			echo $i." = ".$j."<br>";
		}
	}
	$z++;
}

что-то лучшее голова уже придумывать не хочет, очень уж спать охота...

3.84

3.84
5
29.05.2009 21:46:13

BugsTracker, спасибо.. вцелом не знаю, выводит на экран как то непонятно...

3.91

3.91
6
29.05.2009 22:14:34

оно выводит типа 1=5, читай: $a1=$a5

3.84

3.84
7
29.05.2009 23:03:30

Пока плохо вникаю в требуемое, но по-моему тут лучше обойтись ф-ей preg_match() с перечисленем необходимого по типу

preg_match("/2|5|7|9/", $in);
что то типо этого

3.91

3.91
8
30.05.2009 11:53:2830.05.2009 11:53:46

sam07, Вот что нужно:

Есть ~ 10 переменных. Сравниваем их друг с другом, и если есть одинаковые, то так и пишем на экран типо ''$a1 совпала с $a8'', ''$a6 совпала с $a2, $a3, $a10'' ну или как то так..

Скрипт BugsTracker'а, вроде работает, но:

В вашем примере поставвим так:

$a0 = 900; 
$a1 = 1000; 
$a2 = 1300; 
$a3 = 1300; 
$a4 = 1300; 
$a5 = 1300;


а выведет:

<br /> 2 = 3<br /> 2 = 4<br /> 2 = 5<br /> 3 = 4<br /> 3 = 5<br /> 4 = 5<br />


Можно сделать так, чтобы вывела типа ''$a2 = $a3, $a4, $a5'' ?

и еще вопросик. как прикрутить ваш скриптик к запросу?

например, есть такой запрос:

$result=$db->sql_query("SELECT did, price15, price20, price22, priceeuro200, priceeuro220, pricefam, pricekidrez, pricekidst FROM s_products");
	while(list($did, $price15, $price20, $price22, $priceeuro200, $priceeuro220, $pricefam, $pricekidrez, $pricekidst)=$db->sql_fetchrow($result)) {

}


здесь около 500 товаров, в каждом по 8 вариантов цен.

например. (10(это did(id товара)), 800, 900, 1000, 1100, 1250, 1500, 1700, 2000).

так вот. если например в каком то товаре совпадет например $price20 и $pricefam, нужно чтобы вывело на экран DID товара, у которого совпало, и что именно совпало.
в общем вот так) спасибо

3.91

3.91
9
30.05.2009 17:54:55

Можно сделать так, чтобы вывела типа ''$a2 = $a3, $a4, $a5'' ?


Можно: поменяй строку:
echo $i." = ".$j."<br>";

на:
echo "\$a".$i." = \$a".$j."<br>";

3.84

3.84
10
30.05.2009 18:57:3730.05.2009 18:58:05

BugsTracker, простите за мою вредностть, Ваш код верный, спору нет, но по правилам конкатенации все таки так будет лучше

echo '$a' .$i .' = $a' .$j .'<br>';

3.91

3.91
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь