Это относится к лямбда-исчисление , который является формальной системой, которая просто имеет лямбда-выражения, которые представляют функцию, которая берет функцию для собственного аргумента и возвращает функцию. Все функции в лямбда-исчислении имеют тот тип, т.е. λ : λ → λ
.
Lisp использовал понятие лямбды для именования его литералов анонимной функции. Эта лямбда представляет функцию, которая берет два аргумента, X и Y, и возвращает их продукт:
(lambda (x y) (* x y))
Это может быть применено встроенное как это (оценивает к 50 ):
((lambda (x y) (* x y)) 5 10)
Решение, не относящееся к конкретному pdo, которое может или не может быть достаточным в вашем случае:
изменить: пример
Сначала пример базы данных, хранящейся в mydb.sq3
<?php
$pdo = new PDO('sqlite:mydb.sq3');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('CREATE TABLE foo(x INTEGER PRIMARY KEY ASC, y, z)');
$stmt = $pdo->prepare("INSERT INTO foo (x,y,z) VALUES (:x,:y,:z)");
$stmt->bindParam(':x', $x);
$stmt->bindParam(':y', $y);
$stmt->bindParam(':z', $z);
for($x=0; $x<100; $x++) {
$y = $x*2;
$z = $x*2+1;
$stmt->execute();
}
Теперь у нас есть: memory: database, и мы хотим передать таблицу foo
<?php
$pdo = new PDO('sqlite::memory:');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('ATTACH "mydb.sq3" as filedb');
$pdo->exec('CREATE TABLE bar AS SELECT * FROM filedb.foo');
$pdo->exec('DETACH filedb');
Готово. Но давайте взглянем на таблицу sqlite_master
foreach($pdo->query('SELECT sql FROM sqlite_master') as $row) {
echo $row['sql'];
}
, которая выводит
CREATE TABLE bar(x INT,y,z)
Объявление INTEGER PRIMARY KEY ASC потеряно. Впрочем, может быть достаточно ....
Если это то, что вам нужно сделать, то я отвечу VolkerK, но я считаю, что должен указать, что вы собираетесь прочитать содержимое этих таблиц. в память каждый раз, когда вы запускаете этот код (каждый раз, когда эта страница загружается?), поэтому может быть лучше просто запросить файлы данных с диска.
Обратите внимание, что всегда можно использовать какой-либо механизм разделяемой памяти (например, APC, memcache и т. Д.), Чтобы сохранять базы данных sqlite в памяти постоянными между соединениями.