Я выполняю 2 запроса на двух diffrend-серверах с одинаковой структурой таблиц. Как я могу объединить 2 массива в PHP?PHP Merge 2 mysql Результаты
Благодаря
Я выполняю 2 запроса на двух diffrend-серверах с одинаковой структурой таблиц. Как я могу объединить 2 массива в PHP?PHP Merge 2 mysql Результаты
Благодаря
Посмотрите на array_merge.
array array_merge (array $array1 [, array $... ])
Сливает элементы одного или более массивов таким образом, что значения одного добавляются к концу предыдущего. Он возвращает полученный массив .
Если входные массивы имеют одинаковые строковые ключи, то более позднее значение для этого ключа перезапишет предыдущий. Если, однако, массивы содержат числовые клавиши, более позднее значение не будет перезаписывать исходное значение , но будет добавлено.
Значения во входном массиве с цифровыми клавишами будут перенумерованы с помощью инкрементирующих ключей, начиная с нуля в массиве результатов.
Пожалуйста, имейте в виду, что при запросе двух серверов баз данных у вас будет столкновение между идентификаторами записей (функция db auto_increment), если вы не используете UUID для каждой идентификации записи.
Поэтому, когда вы не используете uuid для генерации идентификаторов записей, когда вы объединяете два массива с результатами, вы должны отметить, что с сервера, чтобы избежать столкновений позже.
PDO::query() возвращает объект PDOStatement, который реализует интерфейс Traversable.
Класс SPL класс IteratorIterator обертывает любые направляющие, как Iterator.
И еще один класс SPL, AppendIterator, может «конкатенировать» итераторы, чтобы действовать как один итератор.
<?php
$result1 = $pdo1->query('SELECT * FROM foo');
$result2 = $pdo2->query('SELECT * FROM foo');
$it = new AppendIterator;
$it->append(new IteratorIterator($result1));
$it->append(new IteratorIterator($result2));
foreach($it as $row) {
echo join(', ', $row), "\n";
}
Кто-нибудь знает, как сделать это добавленным итератором? (т. е. сделать возможным переход в определенные места в этом AppendIterator для получения подмножества данных? –