|
|
|
| есть несколько переменных
$mas_1, $mas_2, $mas_3 ... $mas_1000
Как проверить существует какая-нибудь из них?
что-то типа isset($mas_%) | |
|
|
|
|
|
|
|
для: Mootch
(10.08.2005 в 23:37)
| | А не массив использовать?
Ну или можно:
eval("if(isset(\$mas_$num))")
|
где $num - это номер того что надо проверить. | |
|
|
|
|
|
|
|
для: Евгений Петров
(11.08.2005 в 00:19)
| | Из этой же оперы, можно использовать следующий код
<?php
$name = "mas_$num";
if(isset($$name)) echo "Переменная определена";
?>
|
| |
|
|
|
|
|
|
|
для: Mootch
(10.08.2005 в 23:37)
| | if(!$mas_1, || !$mas_2, || !$mas_3 ... || !$mas_1000);
{
echo 'Заданы не все параметры':
} | |
|
|
|
|
|
|
|
для: totx
(11.08.2005 в 00:26)
| | ООО! Не друг так никаких ресурсов не напасешся. А если переменных 1000000? | |
|
|
|
|
|
|
|
для: Евгений Петров
(11.08.2005 в 00:29)
| | Скажите, в каких случаях у вас будет столько переменных?
Никаких eval-ов здесь не надо, и не надо вообще использовать. А автору топика можно лишь посоветовать использовать массивы. | |
|
|
|
|
|
|
|
для: isset
(11.08.2005 в 00:37)
| | Вот вот и я о том же. | |
|
|
|
|
|
|
|
для: Евгений Петров
(11.08.2005 в 00:40)
| | А у меня методом POST передается 30-50 переменных :( точно не обойтись без массивов для обработки, проверки , вывода..
Так вот, если переменные вида s1,s2...s50 как их загнать в массив?
и второй вопрос: как этот массив загнать в базу?
Я пока только с проверкой-обработкой массива могу справится :(
Спасибо! | |
|
|
|
|
|
|
|
для: denvor
(28.08.2005 в 12:27)
| |
<?
for($i=0;$i<3;$i++)
{
$tmp = "s".intval($i+1);
$mas[$i] = $$tmp;
}
print_r($mas);
// для того чтобы загнать в БД нужно воспольоваться ф-ей serialize()
$mas = serialize($mas);
echo $mas;
// а после извлечения ф-ей unserialize()
$mas = unserialize($mas);
print_r($mas);
?>
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(28.08.2005 в 14:36)
| | Спасибо!
Но как я понял, сериализация упаковывает весь массив в одну переменную, так что работать с переменными средствами базы не получится :(
Так что хотелось бы зазобраться с тем, как раскидать элементы массива по ячейкам базы | |
|
|
|
|
|
|
|
для: denvor
(28.08.2005 в 22:38)
| | Вообще говоря плохая идея. Но если все переменные представляют собой только числа, то можно написать свою функцию по упаковке и распаковке массивов. Например
<?
function my_serialize($arr)
{
if($arr)
foreach($arr as $value)
$string.= "i:$value;";
return $string;
}
function my_unserialize($string)
{
preg_match_all("/i:([0-9])+;/i",$string,$arr);
return $arr[1];
}
?>
Первая функция упаковывает массив в строку, вторая распаковывает строку в массив. И тогда можно управлять переменными средствами БД при помощи регулярных выражений
[code]<?
$num = 5; // число которое содержится в массиве, который находится в записе которую надо выделить :)
mysql_query("SELECT * FROM tbl WHERE AND arr REGEXP 'i:$num;'");
?>
|
| |
|
|
|