<?php
class ArrayFilter {
private $arr = array();
private $field;
private $value;
function __construct($array, $field, $value) {
$this->arr = $array;
$this->field = $field;
$this->value = $value;
}
function dataCorrect($arr) {
echo("\n->> ".print_r($array)." <<-\n");
//$field = $this->field;
//$val = $this->value;
//return $arr[$field] == $val;
}
}
$fields = array(
'OrgType' => array(
'label' => 'Субъект права'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'OrgName' => array(
'label' => 'Полное наименование организации'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'OrgNameSmall' => array(
'label' => 'Краткое наименование организации'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'Surname' => array(
'label' => 'Фамилия'
,'showType' => array(1, 2)
,'sort' => 1
)
,'Name' => array(
'label' => 'Имя'
,'showType' => array(1, 2)
,'sort' => 1
)
,'Patronymic' => array(
'label' => 'Отчество'
,'showType' => array(1, 2)
,'sort' => 1
)
,'INN' => array(
'label' => 'ИНН'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'KPP' => array(
'label' => 'КПП'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'OGRN' => array(
'label' => 'ОГРН'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'EtpRole' => array(
'label' => 'Роль на ЭТП'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'UrAddressUnparsed' => array(
'label' => 'Юридический адрес'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'UrAddress' => array(
'label' => 'Юридический адрес'
,'showType' => array()
,'sort' => 1
)
,'PostAddressUnparsed' => array(
'label' => 'Фактический адрес'
,'showType' => array(0, 1, 2)
,'sort' => 1
)
,'PostAddress' => array(
'label' => 'Фактический адрес'
,'showType' => array()
,'sort' => 1
)
// директор
,'DirName' => array(
'label' => 'ФИО руководителя'
,'showType' => array(0, 1)
,'sort' => 2
)
,'DirDol' => array(
'label' => 'Должность'
,'showType' => array(0, 1)
,'sort' => 2
)
,'DirDivision' => array(
'label' => 'Структурное подразделение'
,'showType' => array(0)
,'sort' => 2
)
,'DirBasis' => array(
'label' => 'Вид документа, на основании которого действует руководитель'
,'showType' => array(0)
,'sort' => 2
)
,'DirEmail' => array(
'label' => 'E-mail директора'
,'showType' => array(0, 1)
,'sort' => 2
)
// контактное лицо
,'KontName' => array(
'label' => 'ФИО контактного лица'
,'showType' => array(0, 1, 2)
,'sort' => 3
)
,'KontPhone' => array(
'label' => 'телефон контактного лица'
,'showType' => array(0, 1, 2)
,'sort' => 3
)
);
// задаем имя поля и значение которое ищем
$field = 'sort';
$value = '3';
// сам механизм фильтрации массива глубина 1 уровень
$out = array_filter(
$fields,
array(
new ArrayFilter($fields, $field, $value),
'dataCorrect'
)
);
print_r($out);
preferences:
38.94 ms | 402 KiB | 5 Q