たった3行のコードでひたすらアイドル水着画像をあつめる(Rubyだよ) – maeharinの日記という記事があったので対抗してPHPでも3行で書いてみたよ! ~~~ find(“img.MTMItemThumb”) as $img) echo “find(“//img[@class=’MTMItemThumb’]”) as $img) echo “
![たった3行のコードでひたすらアイドル水着画像をあつめる(PHPで)](https://cdn-ak-scissors.b.st-hatena.com/image/square/1f6d8221478188c60358492cad32da85a927343b/height=288;version=1;width=512/https%3A%2F%2Fi0.wp.com%2Fnob-log.info%2Fwp-content%2Fuploads%2F2012%2F12%2Fnever.png%3Ffit%3D1024%252C519%26ssl%3D1)
最低限書いておきたいというよりは、最低限書いて下さいという私の切なる願いかもしれない。 そもそも何故Docコメントを書くのだろうか? メソッドの命名さえ正確に行えるならDocコメントという存在はほぼ必要無いという考えがあり、 それは間違いでは無いでだろう。 しかし… 型が無いためにメソッド名を冗長にしてしまう 以下のコードは税率を取得するだけの単純なものだ。 TAX::getRate()と実行することで税率を取得出来る。 これなら、主語=TAX、述語=getRateと読み取れるので何をしているのか一目瞭然である。 class Tax { private static $tax_rate = 0.8; public static function getRate() { return self::$tax_rate; } } しかし、これは戻ってくる値の型を予約出来る静的片付け言語であればの
フォーマット指定子一覧 フォーマット指定子とは、C言語のprintf()、fprintf()、sprintf()、scanf()、fscanf()、sscanf()などの関数で使用する、 表示形式を指定するための記述子である。 C言語専用と思っていると、MFC(C++)のCStringクラスやjavaのFormatterクラス(jdk1.5以降)にも使用されていたりして、 やはりしっかり覚えておかなくては、と思わせられることもある(詳細は異なるが)。 度忘れした際にはここを見ればよいように、よく使うフォーマット指定子をここにまとめておく。 なお、ANSI規格での全貌を知りたいときは、fprintfのリファレンス等を参照のこと。 出力フォーマット指定子 printf(),fprintf(),sprintf()などで使用する指定子である。
最初に結論 in_arrayには第三引数trueを指定しろ。絶対にだ。 はじめに in_arrayについては、はじめにPHP: in_array - Manualをよく読んでおいてほしい。 この記事に書いたコード断片は、どうか読むだけではなく自分で手を動かして確認してほしい。 PHPで短いコードを動かすのはPsySHを利用すると、とても捗る。ローカルに動作環境がなければ、Ideone.comなどのオンラインサービスを利用しても差支ない。 static $fruits = ["apple", "orange", "banana"]; in_array("apple", $fruits); // => true in_array("mikan", $fruits); // => false これがin_arrayのふつうの使ひかただ。 Webアプリケーションでの実例 では、次のような例を見てみ
Stop die()ing all the time PsySH can be used as an interactive debugger, much like JavaScript's debugger statement, saving you from endless var_dump() and die() iterations. Just drop this line in where you'd like to have a breakpoint: eval(\Psy\sh()); Auto[tab][tab]Complete PsySH has tab completion for variable names, functions, classes, methods, properties, and even files! Just start typing, then
はじめに phpで日付関連のこと調べると、手続き型の方法が検索上位に来てあまり手続き型で書きたくないなーと思ったので、DateTimeクラスを使った日付関連のことを個人メモ的にまとめた。 サンプル 現在日時を作成 $date = new DateTime(); echo $date->format('Y-m-d H:i:s'); // 2014-08-06 21:15:49 // 文字列から $date = new DateTime('2014-08-01 23:01:05'); echo $date->format('Y-m-d H:i:s'); // 2014-08-01 23:01:05 // 数値から $date = new DateTime(); $date->setDate(2014,8,1); echo $date->format('Y-m-d H:i:s'); // 201
PHPで定数を設定し、その内容を表示する際に、ヒアドキュメント内ではどうしたら良いのか分からなかったので調べてみました。 ヒアドキュメントとは そもそもヒアドキュメントとは、プラグラム中に長文を表示させたい時に、開始と終了を指定し、その間を文字列とみなす構文です。 echo <<< EOF この間は文字列とみなされます。 改行を入れても問題ありません。 EOF; 実践 それでは実装方法ですが、PHPの公式リファレンスの「define」の項のフォーラム内に載っていました。 <?php define('MY_CONSTANT','foo bar'); $cst = 'cst'; function cst($constant){ return $constant; } $string = <<<EOF My constante MY_CONSTANT : {$cst(MY_CONSTANT)}
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
phpでシステムを実装する際に数値かどうかをチェックすることはよくあると思います。 phpでは数値文字列かを判定するis_numeric関数がありますが、is_numeric関数は小数点や16進数なども数値として判定します。 完全に数値だけを判定したい場合に下記の正規表現を使うことで数値かどうか判定することができます。 正規表現を使うことによって判定する内容を編集することができるので応用が効くと思います。 ■ is_numeric()関数 変数または指定した値が数値、数値文字列かどうか判定します。 数値の場合はtrueを返し、数値ではない場合はfalseを返します。 ■ 使用方法(is_numeric) ・数値の場合 $num = 000; if (is_numeric($num)) { echo '数値です'; } else { echo '数値ではありません'; } 数値です ・小数点
はじめに 今回の記事は PHP を想定しています。 PHP は WEB サイトで最も使われていて、初心者がとっつきやすく、セキュリティーホールのあるシステムを最も多く生み出し続けている言語ですよね( ̄▽ ̄;) そこで WEB プログラミングの初心者の方をターゲットに、出来るかぎり分かりやすく書いてみます。 というのは建前で、今週末にある PHP セキュリティのお勉強会の予習です。 記事の内容を他人の公開サーバーで試すと犯罪になる場合もあるので注意してね。 セキュリティを確保するにはシステムのアップデートが欠かせませんが、PHP は後方互換性に乏しく、バージョンアップが高コストなため、問題のあるバージョンのまま放置されたシステムになりやすく危険な言語だと思っています。 これは Ruby も同じで、私が言語を選べるなら、どちらも使いません。 堅い言語なら Java か C#(ASP.NET)、
PDOって何なんだ。 PDOは「PHP Data Objects」の頭文字をとった名称です。 って言われても「何がどうなってんの?」と思い、なかなか分からなかった。 データアクセス抽象化レイヤとか言われてるけど、「いや、だからソレ何?」って感じです。 調べたので解説します。 データアクセス抽象化レイヤ アプリケーションとDBMS(データベース管理システム)の間に入ってDBMSの違いを意識せずにアプリケーションを作成するもの。 要するに「色んなデータベースがあるけど、同じ様に書いても全部のデータベースに対応してますよ」って事です。(若干の差異はあるらしい) つまりPDOって… そのデータアクセス抽象化レイヤの一つで、PHP5.1からバンドルされてる(標準で使えるようになってる)ヤツです。 データベースを途中で変更しなければならない際などを考えると使いやすい。 プリペアドステートメントで結構動
※ かなり初歩的な話ですのでご了承ください PHPで、先月、翌月の月を取得するような場合、以下のようなプログラムを書いてしまいませんか? echo '先月 => '. date('m', strtotime('-1 month')) .'<br>'; echo '今月 => '. date('m') .'<br>'; echo '翌月 => '. date('m', strtotime('+1 month')) .'<br>'; ------ 結果 ------ 前月 => 10 今月 => 11 翌月 => 12 (今日を11月01日とした場合です) 上記の結果は期待した結果で現状11月01日の場合は問題ありません。 ところが、10月31日の場合を例にとって見ます。 echo '前月 => '. date('m', strtotime('2009-10-31 -1 month')) .'
PHPで日付、時刻型をチェックするのに劇的に便利な関数、strptime。 力技でやるとなかなか面倒ですが、strptimeを使うとすごく楽ちんです! ではさっそく。 たとえば、YYYY-MM-DD形式をチェックするとして、 if( !strptime( $str, '%Y-%m-%d' ) ){ //ここにエラー処理 } とまーこれだけです。知ってる人には当たり前ですが、以外に知らなかったりするもんです。 で、これを汎用的に発展させちゃうと、 define('DATE_FORMAT' ,'%Y-%m-%d'); define('DATE_FORMAT_TXT' ,'YYYY-MM-DD'); if( !strptime( $str, DATE_FORMAT ) ){ //ここにエラー処理。 //例えば、 echo "○○は「" . DATE_FORMAT_TXT . "」形式でで入力して
foreach ($array as $values) fputcsv(STDOUT, $values); 配列をCSVとして出力する際に、意外と面倒なのがフィールド値のエスケープです。値の中にあるダブルクォートや改行などを適切にエスケープしなければなりません。そんなときは fputcsv() を使いましょう。 >例 $csv = array( array('1111', '1111', '1111', '1111'), array('2222', '2222', '2222', '22,22'), // カンマ混在 array('3333', '3333', '3333', "33\n33"),// 改行混在 array('title' => 'タイトル', // 連想配列 'name' => '名",前',// ダブルクォート,カンマ混在 'hoge' => 'ほげ', 'fuga'
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
Webサイトを作っていると、文字コードの取り扱いで困ることがある。 テキストデータの文字コードを、SJIS(Shift JIS)からUTF-8に変換するとき、文字化けが起こった。 ●波ダッシュ問題 代表的な文字化けの例として、いわゆる「波ダッシュ」問題がある。 波ダッシュ - Wikipedia Unicodeに関連する問題 Unicodeの仕様書では、U+301C WAVE DASH(波ダッシュ)に、「JIS punctuation」という注釈を施しておきながら、JIS X 0208の波ダッシュの例示字形(“上がって下がる” 形)とは異なる形(“下がって上がる”形)を印刷してしまった。 この影響を受けて、Microsoft Windows(XP以前)ではUnicodeの波ダッシュ(U+301C, WAVE DASH)は“下がって上がる”形で表示される。 このWindows独自のUnico
まずは基本。 header('Content-Disposition: attachment; filename="hoge.txt"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); header('Content-Length: '.strlen($buf)); print $buf; ファイルになってるやつをダウンロード。 header('Content-Disposition: attachment; filename="'.basename($filepath).'"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encodin
PHPのデバッグ用ライブラリであるXDebugを使う。 ビルド時の指定もあるのかもしれないけど、 インストール後にphpizeというものを使って設定できるみたい。 やってみたけど、簡単だった。 公式サイトを元に進めていく。 XDebugのソースをダウンロード&展開 # wget http://www.xdebug.org/files/xdebug-2.2.2.tgz # tar -xvf xdebug-2.2.2.tgz # cd xdebug-2.2.2 展開したXDebugのディレクトリに移動したら、phpizeを実行。 # phpize するとconfigureファイルが出来上がるので、これを元にコンパイル、ビルドを行う。 # ./configure --enable-xdebug # make # make install php.iniにXDebugのモジュールを使うように指定す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く