<?php
function koboz($p)      // $p  - имя файла свойств
//*****************************************************
{global $ttab;                                           // массив обозначений 
 global $os2;                                            // текст ошибок 
 global $it;											 // имя таблицы	
 global $names;										     // список требуемых обозначений
 $iob=1;                                                 // индекс обозначения в строке заголовков   
 $isz=3;                                                 // индекс строки заголовков в файле свойств
 $mn=explode(",",$names);
 array_splice ($ttab,0);                                 // зачистим массив слияния 
 for ($i = 0; $i <= count($mn)-1; $i++) 
 { $ttab[$mn[$i]]=0;}
 $свойства = file($p); 	                                         // читаем файл свойств
 $mms=explode("```",str_replace("\r\n","",$свойства[$isz]));     // строку заголовков+свойства на столбцы
 for ($i = 0; $i <= count($mms)-1; $i++)                                  
 {$mms2=explode("/",$mms[$i]);                  // столбец на параметры 0 текст заголовка 1- обозначение
 if (array_key_exists ($mms2[$iob], $ttab))     // если это обозначение нужно
 {if ($ttab[$mms2[$iob]]==0)                    // если оно первое
 {$ttab[$mms2[$iob]]=$i;                       // установим  соответствие обозначение номер столбца   
 }
 else                                           // одинаковые обозначения - ошибка   
 {echo "Повторение обозачения '".$mms2[$iob]."' в таблице '".$it."' (".$p.")<hr>";
 $os2="Да";
 }}}
// все обознчения найдены ?
reset($ttab); 
for ($i = 0; $i <=count($ttab)-1 ; $i++)       // каждую строку массива контроль ледовых
{$val=current($ttab);                          // текущая запись получим
if ($val==0)                                   // если обозначение не найдено
{echo "В таблице '".$it."' (".$p.") должно быть обозначение '".key($ttab)."'<hr>";
$os2="Да";
}
next($ttab);
}}
?>