Я строю массив строк из БД, используя следующий код.Добавление в массив заменяет все элементы массива
$site = new stdClass();
$dbh = _vic_commander_db();
$sth = $dbh->prepare('SELECT name, title, url FROM site ORDER BY siteid');
$sth->bindColumn(1, $site->name);
$sth->bindColumn(2, $site->title);
$sth->bindColumn(4, $site->url);
$sth->execute();
$ret = array();
while ($sth->fetch(PDO::FETCH_BOUND))
{
$ret[] = $site;
}
Массив ($ ret []) добавляется к каждой итерации цикла; однако в дополнение к ПРИЛОЖЕНИЮ каждой из строк таблицы все элементы получают ЗАМЕНЯТЬ последним добавленным результатом. Поэтому у меня есть массив с таким же количеством элементов, что и строки в таблице, но все они одинаковы.
Любые идеи были бы высоко оценены.
Пример из:
array(3) (
[0] => stdClass object {
name => (string) Same Site Name
title => (string) Same Site Title
url => (string) samepurl.com
}
[1] => stdClass object {
name => (string) Same Site Name
title => (string) Same Site Title
url => (string) samepurl.com
}
[2] => stdClass object {
name => (string) Same Site Name
title => (string) Same Site Title
url => (string) samepurl.com
}
)
клон не работает; действовал так же, как оригинал. – Mike
Как я вижу, выборка в массив была в порядке для вас, так что только для записи, почему клон мог провалиться: http://stackoverflow.com/questions/4959949/clone-is-not-working-for-me – nlu