- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADODBで_convertObjectした結果をforeach的に取得する方法)
ADODBで_convertObjectした結果をforeach的に取得する方法
このQ&Aのポイント
- ADODBでfetchnextObject()して取得したオブジェクトは、次のように配列ではなくオブジェクト型で返されます。
- $a をprint_r()してみると、adofetchobj Object ( [ID] => 1111 [cccc0] => 2222 [cccc1] => 3333 [cccc2] => 4444 ) この時、ID, cccc0, cccc1, cccc2といった、ADODB API呼び出し元にとっては未知のフィールドを, 呼び出し元がforeach的に、簡単に調べる方法はありますでしょうか?
- foreach($a as $value)){ //この場合、$aは連想配列ではないため、syntax errorの模様 }
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
get_object_vars()をつかってみては? <?php class test { function test(){ $this->x="1"; $this->y="2"; $this->z="3"; } } $test = new test; //print_r($test); foreach(get_object_vars($test) as $key=>$val){ print "{$key}:{$val}<br>"; }; ?>
お礼
yambejp様 アドバイス誠にありがとうございました。 get_objects_varsでArray型に変換してもらい、 問題を解決できました。感謝申し上げます。 function _convertArray(&$result) { $ret = array(); while ($obj = $result->fetchnextObject()) { $a = get_object_vars($obj); array_push($ret, $a); } return $ret; }