Тут просто много всего в одну строчку (для компактности) сделано. Более развернутый вариант:
public function inserData($table, $data)
{
$self = $this;
// Получаем ключи и значения из входного массива
$keys = array_keys($data);
$values = array_values($data);
// Подготавливаем шаблон с запросом в БД
$query = 'INSERT INTO %s (%s) VALUES (%s)';
// Подготавливаем определение полей
$columns = '`%s`';
$columns = sprintf($columns, implode('`, `', $keys);
// Обрабатываем массив: очищаем и кладем в кавычки
// каждое значение в массиве и соеденяем в одну строку (через ',')
$dataValues = array_map(function($value) use ($self) {
$escaped = $self->escape_string($value);
return "'$escaped'";
}, $data);
$dataValues = implode(', ', $dataValues);
// Вставляем значения в шаблон запроса
$query = sprintf($query, $table, $columns, $dataValues);
// Возвращяем результат
return $this->query($query);
}
Надеюсь так выглядить более понятно.
_____________
Мой блог