Подскажите как правильно выполнить схождение полученного POST массива? сравнив с Именами столбцов таблицы БД и выбрать только нужные пары ключ=>значение у которых Ключ совпадает с Именем столбца выбранной таблицы в БД. У меня приходит POST массив: PHP: Array ( [R1] => 'текст1........' [R2] => 'Текст2 .......' [NAME] => 'Иван' ) К примеру в таблице БД присутсвует имя столбца NAME, и R2, с помощью sql -выражения: PHP: $sql = 'SHOW COLUMNS FROM `obj_'.$id_obj.'`'; $rs = mysql_query($sql); while($columns_r[$i] = mysql_fetch_assoc($rs)){ $name_columns[$i] = $columns_r[$i]['Field']; } Получаю Имена всех столбцов таблицы: PHP: id R2 NAME picture comments подскажите как правильно использовать array_intersect_assoc или другой метод чтобы сравнить два массива первый POST массив (с ключами и значением) Второй массив с именами столбцов БД, в Бд нужно записать только те значения из POST массива у которых ключи совпадают с именами столбцов выбранной таблицы БД.
Обходишь полученный массив столбцов БД PHP: foreach ($name_columns as $k => $v) { if (isset($array[$v])) { // тут собираешь запрос в БД } }
второй вариант (Недавно только отвечал на подобное) array_flip - в массиве имен столбцов меняете индексы и значения местами (имена столбцов становятся индексами) потом array_intersect_key