Я пытаюсь завершить последнюю функцию сценария, который sync data
добавлено в Facebook
привести форму к MySQL database
, я пытаюсь map
MySQL columns to Facebook
привести поля формы тогда, когда new entry
добавление в Facebook приводит к добавлению каждого контента в столбец MySQL в виде строк в зависимости от mapping
выбран в script setting page
,
У меня сейчас 2 массива
1. Первый $mapfieldarray contain key ==> value
где
— key
является MySQL columns
а также
— value
это Facebook fields
Я сопоставляю с колонками
Array
(
[key] => phone_number_col
[values] => phone_number
)
(
[key] => full_name_col
[values] => full_name)
2. и второй массив $leadField contain name ==> value
— где name
является Facebook field
что имеет введенное значение и
— value
который return field entry value
,
Array
( [name] => phone_number
[values] => Array
(
[0] => <test lead: dummy data for phone_number>
)
) (
[name] => full_name
[values] => Array
(
[0] => <test lead: dummy data for full_name>
)
)
как это сделать?
Вам нужно использовать array_search()
Например. что-то вроде этого:
$mapfieldarray = [
'mysql_col_1' => 'fb_field_1',
'mysql_col_2' => 'fb_field_2',
'mysql_col_3' => 'fb_field_3',
];
$leadField = [
'fb_field_1' => 'value to save',
];
$query = 'INSERT INTO table SET ';
foreach($leadField as $fb_field => $value) {
$mysql_field_name = array_search($fb_field, $mapfieldarray);
if(!empty($mysql_field_name)) {
// MAKE SURE TO ESCAPE YOUR VALUES!
// This is just an example to show how to use array_search
$query .= "INSERT INTO table SET $mysql_field_name = $value";
}
}
Поиск по массиву — поиск значений первого массива на предмет соответствия, а затем возврат соответствующего ключа, который в данном случае является именем вашего поля mysql.
Других решений пока нет …