<?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을 echo했을 때입니다; 아무것도 나타나지 않습니다. 데이터를 표시하기 위해이 코드를 추가하려면 $newObject->name;
미리 감사드립니다.PHP 다중 배열 - 객체를 사용하여 배열 키의 값을 반향 출력합니다.
당신은 무엇을 달성하려고? 당신은 하나 이상의 행을 객체에 바인딩하고 나중에 결과 만 얻을 수 있습니다. 당신은 객체 배열이 필요합니다. 많은 논리적 오류가 있습니다 –
FYI, 데이터베이스에서 가져 오는 동안 다른 이름으로 열 이름을 바꾸려면 다음과 같이 직접 쿼리 할 수 있습니다. - 'SELECT ID, 이름으로 cat_name, cat_description from desc FROM shop_categories' – naiquevin