<?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 as name、cat_description as desc FROM shop_categories' – naiquevin