print/echo を使います print "Hello World!"; echo "Hello World!"; デバッグには var_dump() をよく使います var_dump() では変数の内容が出力されます $array = array(1,2,3)

Similar documents


ようこそゲストさんトップ最新の日記ユーザー登録ログインヘルプ CX's VBScript Diary <Visual Studio は VBScript 用の最強エデ VBScript 基礎文法最速マスター 11:50 VBScript の文法一覧です 他の言語をある程度

Microsoft PowerPoint - ruby_instruction.ppt

ファイル入出力

Java講座

ファイル入出力

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft Word - Cプログラミング演習(12)

オブジェクト指向プログラミング・同演習 5月21日演習課題

Taro-ファイル処理(公開版).jtd

4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に

Taro-cshプログラミングの応用.jt

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

2006年10月5日(木)実施

Microsoft PowerPoint - prog03.ppt

Si 知識情報処理

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

Microsoft PowerPoint - 第3回目.ppt [互換モード]

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

情報処理演習 B8クラス

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

JavaプログラミングⅠ

デジタル表現論・第6回

JavaプログラミングⅠ

memo

Microsoft PowerPoint - 計算機言語 第7回.ppt

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Prog1_12th

Java知識テスト問題

文字列操作と正規表現

Microsoft PowerPoint - prog04.ppt

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕


Microsoft PowerPoint - prog09.ppt

プログラミング基礎I(再)

Microsoft PowerPoint - prog09.ppt

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

ポインタ変数

Microsoft Word - no103.docx

PowerPoint Presentation

Microsoft Word - no202.docx

PowerPoint プレゼンテーション

Microsoft Word 基_シラバス.doc

Prog1_10th

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

PowerPoint プレゼンテーション

JavaプログラミングⅠ

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

PowerPoint Presentation

PowerPoint プレゼンテーション

02: 変数と標準入出力

プログラミング基礎

Prog1_6th

テンプレートエンジンの必要性 昔 (2000 年ごろ?) の典型的な PHP のコード : <?php // 処理?> <html> <body> <?php print("hello World!");?> </body> </html> 以下のような問題で衝突していた 1 一旦プログラムコードを

Cプログラミング1(再) 第2回

Microsoft PowerPoint pptx

NetworkApplication-09

Javaプログラムの実行手順

02: 変数と標準入出力

PowerPoint プレゼンテーション

Microsoft PowerPoint - C1(演算と変数).ppt

メソッドのまとめ

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

JavaプログラミングⅠ

Microsoft PowerPoint - lec06 [互換モード]

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Prog2_12th

演算増幅器

Prog2_9th

プログラミング入門1

テキスト処理第 2 回 田中哲産業技術総合研究所情報技術研究部門 akira/textprocess/

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

デジタル表現論・第4回

Microsoft Word - Training10_プリプロセッサ.docx

JavaScriptプログラミング入門 2.JavaScriptの概要

JavaScript 演習 2 1

Microsoft PowerPoint - enshu4.ppt [äº™æ‘łã…¢ã…¼ã…›]

JAVA入門

Microsoft Word - 商業-3

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Microsoft PowerPoint - 5Chap15.ppt

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

メソッドのまとめ

PowerPoint Presentation

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

◎phpapi.indd

CプログラミングI

講習No.9

JEB Plugin 開発チュートリアル 第4回

Ruby演習テキスト1

Microsoft PowerPoint - prog06.ppt

JavaプログラミングⅠ

WEBシステムのセキュリティ技術

02: 変数と標準入出力

スライド 1

Microsoft PowerPoint - CproNt11.ppt [互換モード]

Transcription:

Home プロフィール Shin x blog PHP 2010/01/27 09:25 PHP 基礎文法最速マスター 15 148 p eop l e Perl と Ruby の文法一覧がとても良くまとまっていたので 便乗して PHP でもやってみました Perl 基礎文法最速マスター - Perl 入門 サンプルコードによる Perl 入門 Route 477 - Ruby 基礎文法最速マスター 143 tweets retweet 他の言語をある程度知っている人はこれを読めば PHP の文法を何となく理解できると思います 間違い 不足等々あれば教えて下さい m( )m バージョン PHP3 系がリリースされていますが ここでは PHP2 系を対象としています 基礎 コードブロック PHP コードは という開始タグから始まります 終了タグは?> です HTML に PHP コードを埋める際は終了タグを使いますが ライブラリのように PHP コードのみを記述する際は終了タグを省くことが慣例となっています 終了タグを省く理由について id:kiske さんに解説頂いています ありがとうございます PHP 基礎文法最速マスターの補足 - Absolute Playing! hoge();?> $i = 1; hoge($i);?> hoge(); print 文

print/echo を使います print "Hello World!"; echo "Hello World!"; デバッグには var_dump() をよく使います var_dump() では変数の内容が出力されます 7. 8. 9. 10. 1 1 $array = array(1,2,3); var_dump($array); array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) コメント一行コメント // コメント # コメント 複数行コメント /* コメントコメント */ 変数の宣言 変数の宣言です

$a = 'string'; $i = 1; スクリプトの実行コマンドラインでPHP ファイルを実行します $ php hoge.php PHPコードを直接記述することもできます?> は不要です $ php -r "var_dump('a');" 出力結果をファイルに書き出すにはリダイレクトを使います $ php hoge.php > out スクリプトの文法チェック phpコマンドで文法がチェックできます $ php -l hoge.php 数値数値の表現数値には整数 浮動小数点があります $int = 100; $float = 100.123; 四則演算 $i = 1 + 1; $i = 1-1; $i = 1 * 1; $i = 1 / 2; 余りと商 商を求めるには普通の除算を行った後に intval 関数で整数部を取り出します

$div = intval(3 / 2); // 商 $mod = 3 % 2; // 余り インクリメントとデクリメント $i++; // インクリメント $i--; // デクリメント 文字列 文字列表現 文字列はシングルクォートかダブルクォートで囲みます ダブルクォートの中では \t( タブ ) や \n( 改行 ) などの特殊文字を利用することができます またダブルクォートで囲まれた文字列の中では変数展開することができます $str1 = "abc\tcde"; // abc cde(\tがタブ [0x09]) $str2 = 'abc\tcde'; // abc\tcde(\tが文字列 ) $str3 = "$str1 100" // abc cde 100 //$str1が展開される $str4 = "{$str1100" // 変数名に文字列が繋がる時は { で囲む 文字列操作

7. 8. 9. 10. 1 1 1 1 1 1 17. 18. 19. 20. // 結合 $join1 = 'aaa'. 'bbb'; $join2 = implode(',', array('aaa', 'bbb', 'ccc')); // 分割 $split = explode(',', 'aaa,bbb,ccc'); // 長さ $length = strlen('abcdef'); // 長さ ( マルチバイト ) // 内部エンコーディングの設定が必要 // mb_internal_encoding('utf-8'); $mb_length = mb_strlen(' あいうえお '); // 切り出し $substr = substr('abcd', 0, 2); // ab // 検索 $index = strpos('abcd', 'bc'); // 見つかったらその位置 ( 先頭が0 配列 連想配列 PHPには連想配列しかありません 配列はキーが数値の連想配列として表現されます また順序を持っています $array1 = array(1, 2, 3); // 配列 ( キーが0から始まる連想配列 ) $array2 = array('a' => 1, 'b' => 2, 'c' => 3); // 連想配列 $array3 = array(1, 'a' => 1, 2); // 混在もok 要素の参照と代入 $i = $array1[0]; $s = $array2['a']; $array1[3] = 1; $array2['z'] = 'zzz'; 要素の個数

$len = count($array1); 配列の操作 7. 8. 9. 10. $array = array(1, 2, 3); // 先頭を取り出す $first = array_shift($array); // $first = 1 / $arrayは (2, // 先頭に追加 array_unshift($array, 5); // $arrayは (5, 2, 3) // 末尾を取り出す $last = array_pop($array); // $last = 3 / $arrayは (5, 2) // 末尾に追加 array_push($array, 9); // $arrayは (5, 2, 9) 連想配列に関する関数 7. 8. 9. // キーの取得 $keys = array_keys($array); // 値の取得 $values = array_values($array); // キーの存在確認 $boolean = array_key_exists('key', $array); // キーの削除 unset($array['key']); 制御文 if 文 if ( 条件 ) { HTML 内で記載する際は以下のような記法も用いられます

if ( 条件 ):?> <span>hoge</span> endif;?> if else 文 if ( 条件 ) { else { HTML 内で記載する際は以下のような記法も用いられます if ( 条件 ):?> <span>hoge</span> else:?> <span>foo</span> endif;?> if else if 文 elseif or else ifが可 if ( 条件 ) { else if { HTML 内で記載する際は以下のような記法も用いられます if ( 条件 ):?> <span>hoge</span> elseif ( 条件 ):?> <span>foo</span> endif;?> while 文

$i = 0; while ($i <5) { // 処理 $i++; HTML 内で記載する際は以下のような記法も用いられます while ($i <5):?> <span> echo htmlspecialchars($i);?></span> $i++;?> endwhile;?> for 文 for ($i = 0 ; $i <5 ;$i++) { HTML 内で記載する際は以下のような記法も用いられます for ($i = 0 ; $i <5 ; $i++):?> <span> echo htmlspecialchars($i);?></span> endfor;?> foreach 文連想配列の各要素を処理できます foreach ($array as $v) { // $v が要素の値 foreach ($array as $k => $v) { // $k が要素のキー $v が要素の値 7.

HTML 内で記載する際は以下のような記法も用いられます foreach ($array as $v):?> <span> echo htmlspecialchars($v);?></span> endforeach;?> 7. サブルーチン ( 関数 ) PHPには関数があります 戻り値を返却するにはreturnを使用します 7. 8. 9. 10. 1 1 1 1 function sum($v1, $v2) { return $v1 + $v2; $total = sum(1, 2); // $total = 3 // 配列で多値を返すこともできます function get_multi($v1, $v2) { $v1 += 100; $v2 += 200; return array($v1, $v2); list($ret1, $ret2) = get_multi(1, 2); // $ret1 = 101 / $re 8. ファイル入出力ファイル入出力にはいくつかの方法があります fopen 関数ファイルポインタを使ってファイルの入出力を行います

7. 8. 9. 10. 1 1 1 1 1 1 17. 18. 19. 20. 2 // 読み込み $fp = fopen("/path/to/file", "r"); if (!is_resource($fp)) { die("can't open file"); while (!feof($fp)) { $line = fgets($fp, 4096); // 何か処理 fclose($fp); // 書き込み $fp = fopen("/path/to/file", "w"); if (!is_resource($fp)) { die("can't open file"); fputs($fp, $buff); fclose($fp); file 関数ファイル全体を読み込んで配列に格納します $list = file("/path/to/file"); // ファイルの各行を連想配列で取得 file_get_contents 関数 / file_put_contents 関数 file_get_contents 関数はファイル全体を読み込んで文字列として格納します file_put_contents 関数は変数の値を全てファイルに書き込みます // 読み込み $contents = file_get_contents("/path/to/file"); // ファイルの // 書き込み file_put_contents("/path/to/file", $buff); // ファイルに $bu 知っておいた方が良い文法 真偽値 PHP では以下の場合 偽と判断されます

== と === boolean の FALSE integer の 0 ( ゼロ ) float の 0.0 ( ゼロ ) 空の文字列 および文字列の "0" 要素の数がゼロである配列メンバ変数の数がゼロであるオブジェクト (PHP 4 のみ ) 特別な値 NULL ( 値がセットされていない変数を含む ) 空のタグから作成された SimpleXML オブジェクト ==/!= といった比較演算子では 数値 文字列の自動変換が行われます よって意図しない結果をもたらす場合があります var_dump(1 == 1); // true var_dump(1 == '1'); // true var_dump(0 == 'a'); // true var_dump(100 == '100a'); // true var_dump('+1' == '0'); // true こういった場合 ===/!== を使うと変数の型も厳密に比較することができます var_dump(1 === 1); // true var_dump(1 === '1'); // false var_dump(0 === '0'); // false var_dump(100 === '100a'); // false var_dump('+1' === '0'); // false 変数が定義されているかどうか 変数が定義されているかどうかを調べるには isset 関数を使用します 定義されている場合は true が返ります ただし isset 関数では変数の値が NULL の場合も false が返ります isset($a); コマンドライン引数 コマンドライン引数を受け取るには $argv 変数を使用します

var_dump($argv); array_map array_map 関数を使うと 連想配列の各要素に処理をして新たな連想配列として受け取ることができます $array = array(1,2,3); $mapped = array_map(create_function('$v', 'return $v *= 10 array_filter array_filter 関数を使うと 条件に一致した要素のみを新たな連想配列として受け取ることができます $array = array(1,2,3,4); $filtered = array_filter($array, create_function('$v', 're 複数の変数への代入 list($v1, $v2, $v3) = array(1, 2, 3); php.i ni PHP には設定ファイルがあります 設定に応じて挙動が変わるので注意が必要です この設定は php.ini という設定ファイルの他に httpd.conf.htaccess そしてソースコードにて設定が可能です 設定方法は 項目に応じて変わりますが ソースコードで設定を行う際は ini_set() を使うことが多いです ini_set('include_path', '.:/path/to/libs'); // include_pat 現在の設定は phpinfo 関数もしくは php コマンドで確認できます

phpinfo(); # 全ての設定値を出力 $ php -i # grep で絞る $ php -i grep include_path クラス定義 class でクラスを定義できます 7. 8. 9. 10. 1 1 1 1 class User { protected $name = null; public function construct($name) { $this->name = $name; public function hello() { printf("%s: Hello!\n", $this->name); $user = new User('Mike'); $user->hello(); 継承もできます 単一継承のみ可能です class MyUser extends User { 例外 throw で例外を投げることができます try/catch で例外をキャッチします 他の言語にある finally に相当するものはありません

7. 8. 9. function foo() { throw new Exception(); try { foo(); catch (Exception $e) { echo $e->gettraceasstring(); PHP 参考資料 公式マニュアル PHP に関する書籍は多く出版されていますが やはり一番参考になるのは公式マニュアルです PHP マニュアル - Manual 公式マニュアルを使う際にちょっとした TIps を ブラウザで公式マニュアルを開く際は http://php.net/ の後ろに調べた関数名を入力すると直接そのページが開きます 合致するものがなければ類似するキーワードが一番表示され 候補の中から選択することもできます http://php.net/array コーディング規約 コーディング規約にはいくつか流派があるのですが Zend Framework のコーディング規約が参考になるでしょう Zend Framework PHP 標準コーディング規約 - Zend Framework Manual モダン PH P PHP にはオブジェクト指向言語としても機能があります 以下の資料が参考になります モダン PHP 勉強会を開催しました & 資料 - 肉とご飯と甘いもの @ sotarok フレームワーク PHP を使った Web システム開発ではフレームワークを用いることがメジャーになりつつあります 多くのオープンソースフレームワークがありますが 主要なものは以下です CakePHP symfony Zend Framework Ethna CodeIgniter

PHP 逆引きレシピ鈴木憲治, 安藤... ロープライス 2,730 or 新品 2,730 プライバシーについて Related Posts Wii リモコンが反応しない PHP 4 の新機能 Zend PHP 5 Certification self test PHP4 では PHP エラーで HTTP 500 を返す PHP フレームワーク 11 Responses to PH P 基礎文法最速マスター on 27 1 月 2010 at 18:15 PHP 基礎文法最速マスター Shin x blog «とっても! ちゅどん ( 雑記帳 ) said [...] PHP 基礎文法最速マスター Shin x blog PHP 基礎文法最速マスター Shin x blog [...] on 28 1 月 2010 at 10:52 Absolute Playing! said [php]php 基礎文法最速マスターの補足... id:shin1x1 さんが Perl Ruby に続いて PHP 基礎文法最速マスター Shin x blog で基礎文法をまとめてくれています ありがとうございます 空いた時間で書いてみようかなと思っていたら先越されてしまいました 記事を読んでみてコードブロックの説明を最初読んだときに少し...