Вы сказали:
В input приходит такой запрос ТЛ-П2-А101-01-0-T1-275-H311-0-П-K2-C50-0-0
Этот запрос парситься и вот такой массив получаем
[StVALUE] => Array
(
[1] => Array
(
[id] => 11
[legend_id] => 1
[block_value] => П2
[fields_value] => Профильная типа 2
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[2] => Array
(
[0] => Array
(
[0] => Array
(
[id] => 13
[conditional_parameters_id] => 13
[keyparam] => 0_A
[text_field] => интерфейс
[text_value] => аналоговый выходной сигнал
[additional_info] =>
[legend_id] => 2
[block_value] => А [1] [2] [4] [5]* / А1 [1] [2] [3]
[fields_value] => Аналоговый выходной сигнал
[1] – тип сигнала: 1) 4…20 мА; 2) 0…20 мА; 3) -20…+20 мА; 4) 0…24 мА; 5) -10…+10 В; 6) 0…+10 В; 7) 0…+5 В; 8) -5…+5 В; 9) 0,5…4,5 В; 10) 0,25…4,75 В
[2] – направление движения: 0 – вперед; 1 – назад 2 – вперед-назад
[3]– измеряемый параметр: 0 – положение; 1 – скорость; 2 – дельта расстояния
[4] – ток ошибки: 0 – Сохранить исходное значение; 1 – максимальное значение; 2 – минимальное значение
[5]*– Схема подключения: 2 – Двухпроводная; 4 – Четырехпроводная*Примечание –только для исполнения ТЛ-С1 тип 4
[type_text] => A
[execution_url] =>
[execution_image] =>
)
[1] => Array
(
[id] => 13
[conditional_parameters_id] => 13
[keyparam] => 1_1
[text_field] => тип сигнала
[text_value] => 4…20 мА
[additional_info] =>
[legend_id] => 2
[block_value] => А [1] [2] [4] [5]* / А1 [1] [2] [3]
[fields_value] => Аналоговый выходной сигнал
[1] – тип сигнала: 1) 4…20 мА; 2) 0…20 мА; 3) -20…+20 мА; 4) 0…24 мА; 5) -10…+10 В; 6) 0…+10 В; 7) 0…+5 В; 8) -5…+5 В; 9) 0,5…4,5 В; 10) 0,25…4,75 В
[2] – направление движения: 0 – вперед; 1 – назад 2 – вперед-назад
[3]– измеряемый параметр: 0 – положение; 1 – скорость; 2 – дельта расстояния
[4] – ток ошибки: 0 – Сохранить исходное значение; 1 – максимальное значение; 2 – минимальное значение
[5]*– Схема подключения: 2 – Двухпроводная; 4 – Четырехпроводная*Примечание –только для исполнения ТЛ-С1 тип 4
[type_text] => A
[execution_url] =>
[execution_image] =>
)
[2] => Array
(
[id] => 13
[conditional_parameters_id] => 13
[keyparam] => 2_0
[text_field] => направление движения
[text_value] => вперед
[additional_info] =>
[legend_id] => 2
[block_value] => А [1] [2] [4] [5]* / А1 [1] [2] [3]
[fields_value] => Аналоговый выходной сигнал
[1] – тип сигнала: 1) 4…20 мА; 2) 0…20 мА; 3) -20…+20 мА; 4) 0…24 мА; 5) -10…+10 В; 6) 0…+10 В; 7) 0…+5 В; 8) -5…+5 В; 9) 0,5…4,5 В; 10) 0,25…4,75 В
[2] – направление движения: 0 – вперед; 1 – назад 2 – вперед-назад
[3]– измеряемый параметр: 0 – положение; 1 – скорость; 2 – дельта расстояния
[4] – ток ошибки: 0 – Сохранить исходное значение; 1 – максимальное значение; 2 – минимальное значение
[5]*– Схема подключения: 2 – Двухпроводная; 4 – Четырехпроводная*Примечание –только для исполнения ТЛ-С1 тип 4
[type_text] => A
[execution_url] =>
[execution_image] =>
)
[3] => Array
(
[id] => 13
[conditional_parameters_id] => 13
[keyparam] => 4_1
[text_field] => ток ошибки
[text_value] => максимальное значение
[additional_info] =>
[legend_id] => 2
[block_value] => А [1] [2] [4] [5]* / А1 [1] [2] [3]
[fields_value] => Аналоговый выходной сигнал
[1] – тип сигнала: 1) 4…20 мА; 2) 0…20 мА; 3) -20…+20 мА; 4) 0…24 мА; 5) -10…+10 В; 6) 0…+10 В; 7) 0…+5 В; 8) -5…+5 В; 9) 0,5…4,5 В; 10) 0,25…4,75 В
[2] – направление движения: 0 – вперед; 1 – назад 2 – вперед-назад
[3]– измеряемый параметр: 0 – положение; 1 – скорость; 2 – дельта расстояния
[4] – ток ошибки: 0 – Сохранить исходное значение; 1 – максимальное значение; 2 – минимальное значение
[5]*– Схема подключения: 2 – Двухпроводная; 4 – Четырехпроводная*Примечание –только для исполнения ТЛ-С1 тип 4
[type_text] => A
[execution_url] =>
[execution_image] =>
)
)
)
[3] => Array
(
[id] => 23
[legend_id] => 3
[block_value] => 01
[fields_value] => Тип датчика с абсолютной погрешностью 0,1 мм
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[4] => Array
(
[id] => 24
[legend_id] => 4
[block_value] => 0
[fields_value] => Датчик общепромышленного исполнения
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[5] => Array
(
[id] => 26
[legend_id] => 5
[block_value] => T1
[fields_value] => -40…+85°С
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[6] => Array
(
[id] => 30
[legend_id] => 6
[block_value] => диапазон измерения
[fields_value] => 275
[type_text] => диапазон измерения
[execution_url] =>
[execution_image] =>
)
[7] => Array
(
[id] => 43
[legend_id] => 7
[block_value] => HЗ11
[fields_value] => 73/73 мм
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[8] => Array
(
[id] => 53
[legend_id] => 8
[block_value] => 0
[fields_value] => Без стержня
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[9] => Array
(
[id] => 71
[legend_id] => 9
[block_value] => П
[fields_value] => Профильное (с прямым выходом)
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[10] => Array
(
[id] => 81
[legend_id] => 10
[block_value] => K2
[fields_value] => Магнитные каретки разных конструкций и исполнений
[type_text] =>
[execution_url] =>
[execution_image] =>
)
[11] => Array
(
[block_value] => C50
[fields_value] => <span style="color:red"> нет данных </span>
)
[12] => Array
(
[id] => 111
[legend_id] => 12
[block_value] => 0
[fields_value] => Стандартное
[type_text] =>
[execution_url] =>
[execution_image] =>
)
)
foreach($StVALUE as $key => $value){
$line_num = $key;
if(isset($value['block_value']) ){
$HTML.= '('.$line_num.') <u>'.$value['block_value'].'</u> <b>'.$value['fields_value'].'</b><br>';//'.$senssor[$key].'
if($key==1){
if(isset($StVALUE[5]['price_fixT1']) && $value['block_value']=='C1')
$Price[1]=$value['block_value'].'T1';//fix в БД block_value_type1
elseif(isset($StVALUE[11]['price_fixС50']) && $value['block_value']=='П2')
$Price[1]=$value['block_value'].'С50';//fix в БД block_value_type1
elseif(isset($StVALUE[11]['price_fixС50']) && $value['block_value']=='П3')
$Price[1]=$value['block_value'].'С50';//fix в БД block_value_type1
elseif($StVALUE[3]['block_value']=='01' && $value['block_value']=='C3')//$StVALUE[$senssor_step][$key]['price_fixC301']=true;
$Price[1]=$value['block_value'].'01';
elseif($StVALUE[3]['block_value']=='10' || $StVALUE[3]['block_value']=='005' && $value['block_value']=='C3')//$StVALUE[$senssor_step][$key]['price_fixC310']=true;
$Price[1]=$value['block_value'].'10';
elseif($StVALUE[6]['fields_value']>2000 && $value['block_value']=='CФ2' && $StVALUE[13]['block_value']==1 )//fix CФ2 -> CФ2K
$Price[1]='CФ2K';
elseif($value['block_value']=='П3' && $StVALUE[13]['block_value']==2 )//fix CФ2 -> CФ2K тип 2
$Price[1]='П3K';
elseif($value['block_value']=='C1' && $StVALUE[13]['block_value']==4 )//fix тип 4
$Price[1]='C1П';
elseif($value['block_value']=='CB3' && $StVALUE[13]['block_value']==1 )//fix тип 1
$Price[1]='CBP';
else
$Price[1]=$value['block_value'];
}
}
elseif(isset($StVALUE[$key][0]) ){
foreach($StVALUE[$key] as $array){
if(is_array($array))
foreach($array as $arr => $val){
if(is_array($array)){
if(isset($val['text_field']) && isset($val['text_value'])){
$HTML.= '('.$line_num.') <u>'.$val['text_field'].'</u> <b>'.$val['text_value'].'</b><br>';//'.$senssor[$key].'
//$HTML.= '('.$line_num.') '.$StVALUE[$key][0][0].' <u>'.$val['text_field'].'</u> <b>'.$val['text_value'].'</b><br>';//'.$senssor[$key].'
//$HTML.= $senssor[$key].' '.$StVALUE[$key][0][0].' '.$val['text_field'].' '.$val['text_value'].'<br>';
if($key==2){
if(isset($StVALUE[$key][0]['price_fixA2']) && $Price[1]=='C2')//определяем аналог analog и два выхода С2 датчик
$Price[2]='A2';//два выхода стоиомсть
else
$Price[2]=$val['type_text'];
}
}
}
}
}
}
}
Дальше получаем список на выходе Который как есть сформировать в exels для скачивания
(1) П2 Профильная типа 2
(2) интерфейс аналоговый выходной сигнал
(2) тип сигнала 4…20 мА
(2) направление движения вперед
(2) ток ошибки максимальное значение
(3) 01 Тип датчика с абсолютной погрешностью 0,1 мм
(4) 0 Датчик общепромышленного исполнения
(5) T1 -40…+85°С
(6) диапазон измерения 275
(7) HЗ11 73/73 мм
(8) 0 Без стержня
(9) П Профильное (с прямым выходом)
(10) K2 Магнитные каретки разных конструкций и исполнений
(11) C50 нет данных
(12) 0 Стандартное