проверка на существование в массиве...

maxweber

Новичок
проверка на существование в массиве...

Задача состоит в следующем: есть массив, скажем,
PHP:
array(
    [testData] => Array
        (
            [url] => 1
        )

)
и строка 
$str = 'testData[url]'
необходимо проверить содержит ли этот массив элемент testData? Сделано так: [php] $arr = '['.substr($var, 0, strpos($var, '[')).']'; $arr_key = substr($var, strpos($var, '['), strpos($var, ']')); eval("\$res = isset(\$data$arr$arr_key);"); var_dump($res); [/php] Работает, но прежде чем делать что-то сложное и не красивое для случая testData[url][something], хотел посоветоваться...
 

maxweber

Новичок
Автор оригинала: Фанат
откуда берётся $str ?
есть validation класс, в котором функция addRule(), принимающая в качестве одного из параметров - имя $_POST переменной. В этом классе функция validates(), которая проверяет значение этой переменной в соответствии с заданным правилом. $str - в данном случае, это имя элемента формы, которое надо проверить. Т.е.:
PHP:
html:
<input type="text" name="testData[url]">...
php:
addRule($_POST['testData[url]'], VALUE_NOT_EMPTY, 'error');
проблема здесь:
PHP:
if (isset($data[$field])), где 
$field = 'testData[url]' 
$data = $_POST;
 

SiMM

Новичок
PHP:
print_r($_POST);
перед
> addRule($_POST['testData'], VALUE_NOT_EMPTY, 'error'); после чего читать про многомерные массивы - [m]language.types.array[/m]
 
Сверху