<?php
/* SC: Shop Category */
$SCStatement = "SELECT * FROM shop_categories";
$SCQuery = mysql_query($SCStatement);
while($SCFetch = mysql_fetch_array($SCQuery)){
$SCItems[] = array(
'id' => $SCFetch['id'],
'name' => $SCFetch['cat_name'],
'desc' => $SCFetch['cat_description']
);
}
$SCNumCols = 2;
$SCNumItems = count($SCItems);
$SCNumRows = ceil($SCNumItems/$SCNumCols);
function bindArrayToObject($array) {
$return = new stdClass();
foreach ($array as $k => $v) {
if (is_array($v)) {
$return->$k = bindArrayToObject($v);
}
else {
$return->$k = preg_replace ('/<[^>]*>/', '', $v);
}
}
return $return;
}
$newObject = bindArrayToObject($SCItems);
echo $newObject->name;
?>
Данные, которые я извлекаю из базы данных, хранятся в массиве $ SCItems []. Проблема в том, что когда я возвращаю $ newObject-> name; ничего не появится. Что добавить этот код для отображения данных с помощью $newObject->name;
Заранее спасибо.Многострочный массив PHP - повторение значения ключа массива с использованием объекта
Что вы пытаетесь достичь? вы связываете более чем одну строку с объектом позже, в результате вы получите только последнюю строку. вам нужен массив объектов. Существует много логических ошибок: –
FYI, при получении из базы данных, если вы хотите переименовать столбцы в нечто другое, вы можете напрямую запросить это: 'SELECT id, cat_name как имя, cat_description как desc FROM shop_categories' – naiquevin