スプレッドシート側の設定
http://creator.aainc.co.jp/archives/6240
久しぶりにPHP書いててみーんな忘れているけど、javascriptより慣れのせいか書きやすい
おかしな書き方や、オススメ等ございましたらご教授ください。
$key="1cLaLSB7k7CaEs5e3WlT7x9bR-q2XlPJZ4dMyMSHhl7Q";
$worksheetId="ojpq4gm";
$url = "https://spreadsheets.google.com/feeds/cells/${key}/${worksheetId}/public/values?alt=json";
$json = file_get_contents($url);
$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); //文字化け防止
$aryObj=json_decode($json,true);
$aryObj = array_map( function ($ary) {return $ary['gs$cell'];}, $aryObj["feed"]["entry"] ); //gs$cellでフィルタリング
$aryHead= array_filter( $aryObj, function ($ary) {return ($ary["row"]==1);}); //row=1でフィルタリングしてヘッダ取得
$aryCont= array_filter( $aryObj, function ($ary) {return ($ary["row"]>1);}); //row=1以外でtable body取得
foreach($aryCont as $ary){ //本文
foreach($aryHead as $aryH){ //ヘッダ
if($aryH['col']==$ary['col']){ //同じX軸のヘッダと本文をマッチ
$aryContents[ $ary['row']-1 ][ $aryH['$t'] ] = $ary['$t'];
}
}
}
$aryContents =
array_map( function ($ary) {
$ary["detail"] = json_decode(
str_replace("\n", "\\n", //JSON 改行問題
str_replace("'",'"',$ary["detail"])) //
,true);
return $ary;
}, $aryContents );
//var_dump($aryContents); //全表示
//フィルタリング
//$tarContents=array_filter( $aryContents, function ($ary) {return ($ary["field_name"]=="りんご");});
echo "<table class='table'>";
foreach($tarContents as $ary){
echo "<tr>";
foreach($ary as $ary_x){
echo "<td>".$ary_x."</td>";
}
echo "</tr>";
}
echo "</table>";