PHPで指定日の祝日を取得する方法 GoogleAPI利用
google APIを利用して指定日が祝日かどうか取得する
技術的な内容を書く場合は載せてるコードが間違ってないか確かめる必要があると思う・・・
後は検証したコードがどのVersionで動いているのか出来る限り載せる必要もあるかと。
参考にしてはいけない間違い記事
[PHP]指定した日が祝日かどうかを判定する関数
関数の閉じ方が間違っているし、strtotimeの使い方もオブジェクトのアクセス方法も意味不明。。。
strtotimeの引数はintになっているのに文字列を渡してる時点で、自分の理解を超えてしまってます。
もしかしてAPIアクセス時にタイムスタンプからでも判別できるのかなと思ったのですが、書式(Y-m-d)が決まっているっぽいです。
動作環境
PHP 5.3.1
修正コード
public function isJPNationalHoliday($date)
{
$holidays_url = sprintf(
'http://www.google.com/calendar/feeds/%s/public/full-noattendees?start-min=%s&start-max=%s&max-results=%d&alt=json' ,
'outid3el0qkcrsuf89fltf7a4qbacgt9@import.calendar.google.com' , // 'japanese@holiday.calendar.google.com' ,
//$date ,date('Y-m-d',strtotime('+1 day',$date) ,1);
//修正箇所
$date ,date("Y-m-d", strtotime("$date +1 day")) ,1);
if ( $results = file_get_contents($holidays_url) ) {
$results = json_decode($results);
//修正箇所 $reultsはオブジェクトで返却される
if (isset($results->feed->entry)) {
return TRUE;
}
// in case php version < 5.3, use PEAR JSON.php
//$JSON = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
//$results = $JSON->decode($results);
//if(isset($results['feed']['entry'])){
// return TRUE;
//}
}
return FALSE;
}
JSONデコード
Services_JSONでデコードした場合は配列で返却されるので配列のアクセス方法でチェックできますが、json_decodeの場合はオブジェクトとして返却されるのでアロー演算子を使用してアクセスします。
自分も書くときは気をつけないといけないと再認識しました。。。
関連記事
-
-
Androidで課金アプリ作製 定期購読サンプルコード編
Androidで課金アプリ作製 定期購読編 In-app Billing v3を使用したアプリ開発
-
-
PHP MySQL 重複行を抽出 ロジックで高速化
PHP MySQL 重複行を抽出 ロジックで高速化 ロジックで高速化は釣りになっているかもしれませ
-
-
Macで ローカルサーバー構築 PHP設定編
Macで ローカルサーバー環境を構築するまで PHP設定編 ネットでの情報は必要最低限しか載ってな
-
-
C言語 バッファオーバーランまで ポインタ考察編
趣旨 ただC言語を勉強してもモチベーションがあがり辛いので、 取り合えずバッファオーバーランを目
-
-
jQuery Google画像検索風プラグイン
Google画像検索風プラグイン rc_gallery_open こういったプラグインは数多の開
-
-
PHPでIE11ユーザーエージェント判定
IE11のユーザーエージェント判定 自作のユーザーエージェント判定クラスでIEの判定が出来てなかっ
-
-
jQuery Googleカレンダー風スケジュール表 タイムテーブル
jQueryでスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発
-
-
Androidで課金アプリ作製 エラー編(-1008:Unknown error)
Androidで課金アプリ作製 エラー編 In-app Billing v3を使用したアプリ開発で
-
-
Androidで課金アプリ作製 サンプルコード(BILLING V3) 起動編
Androidで課金アプリ作製 サンプルコード起動編 課金アプリの制作の機会が来てしまいました。
-
-
jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン
水平スクロール&cssでカスタム可能なスクロールバーなプラグイン jQueryを使ったプラグインは
