PHP 概要 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)

Slides:



Advertisements
Similar presentations
1 PHP 文法 担当 岡村耕二 月曜日 2限 平成 20 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授等による 以前の講義資料をもとにしています。
Advertisements

1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
情報理工学部 情報システム工学科 3年 H 井奈波 和也
JavaScript プログラミング入門 2006/11/10 神津.
PHP 文法 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
4章 制御の流れ-3.
プログラミング基礎I(再) 山元進.
プログラミング言語としてのR 情報知能学科 白井 英俊.
JavaScriptゼミ第2回 2-2 変数とリテラル 発表者 直江宗紀.
情報アプリケーション1 2008年 11月 19日 第二回資料 担当 重定 如彦 .
1.1 C/C++言語 Hello.ccを作りコンパイルしてa.outを作り出し実行する
12.3,E,-15, 12.3,E5,+,=, >,<,…,
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
プログラミング基礎I(再) 山元進.
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
Webコミュニケーショングループ ~PHPの基礎~ M1 宮崎 真.
第4回 個人の動画配信補足のためのWeb構築
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
情報科学1(G1) 2016年度.
第6章 2重ループ&配列 2重ループと配列をやります.
条件式 (Conditional Expressions)
PHP 文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
PHP 概要 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
データベース設計 第9回 Webインタフェースの作成(1)
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
アルゴリズムとプログラミング (Algorithms and Programming)
ソフトウェア制作論 平成30年10月3日.
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
2016年度 植物バイオサイエンス情報処理演習 第6回 情報処理(4) データを加工する・2
PHP と SQL (MySQL) の連携 大量のデータを扱う
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
コンパイラ 2011年10月20日
C言語 はじめに 2016年 吉田研究室.
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
統計ソフトウエアRの基礎.
基礎プログラミング演習 第3回.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
C言語復習 来週もこの資料を持参してください.
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
09 06/23 PHP と SQL (MySQL) の連携 その3
PHP と SQL (MySQL) の連携 日本語のデータを扱う
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
コンパイラ 2012年10月11日
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
pf-2. 条件分岐 (Python プログラミング基礎を演習で学ぶシリーズ)
PROGRAMMING IN HASKELL
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
情報処理Ⅱ 小テスト 2005年2月1日(火).
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
C言語講座 四則演算  if ,  switch 制御文.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
第3回Bashゼミ for文処理について 発表者 直江 宗紀.
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

PHP 概要 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生) 2007/4/25 平成21年度 情報科学III (理系コア科目・2年生) PHP 概要 担当 岡村耕二 月曜日 2限 http://okaweb.ec.kyushu-u.ac.jp/lectures/jk3/ 本資料の一部は、堀良彰准教授、天野浩文准教授等による 以前の講義資料をもとにしています。 情報科学III(3)

注意 bossp.is.kyushu-u.ac.jp にログインする ターミナル を使う export LANG=C (表示言語を英語にする) 一番最初だけ(httpd がアクセスできるようにする) chmod 711 . chmod 711 public_html chcon user_u:object_r:httpd_user_content_t public_html

学外から課題などをする場合 ah.s.kyushu-u.ac.jp に TeraTerm Pro などでログインします。 TeraTerm Pro のインストールについてはhttp://hp.vector.co.jp/authors/VA002416/ を参考にしてください。ssh 拡張が必要です。 bossp.is.kyushu-u.ac.jp は、ah.s.kyushu-u.ac.jp から ssh コマンドにてログインできます。 ssh bossp.is.kyushu-u.ac.jp

今回やること プログラミング言語PHPの基礎 PHPが動く仕組み PHPの文法(基礎編)

PHPが動く仕組み

PHPの特徴 PHP: Hypertext Preprocessor の略 頭文字を取って略称を作るおおもとの名前の中に,その略称自体が含まれている. これ自体が1つのプログラミング言語であるが,HTML言語と組み合わせて,特にwebページの動的な生成に用いられることが多い. HTMLで書かれた普通のwebページの中に,PHPプログラムを埋め込むことができる. 文法のかなりの部分は,以下の言語とよく似ている. C Perl 外部のデータベースにアクセスする関数をたくさん持っている.

HTMLファイルへのPHP埋め込みの簡単な例 <head> <meta http-equiv="Content-Type" content="text/html"> <title>test of php</title> </head> <body> <?php print("Hello, World!\n"); ?> </body>  </html>

どのようにして処理されるか? (サーバサイドでの処理となっている) ブラウザ ①ページのリクエスト webサーバ ②ページの取り出し PHP処理用モジュール ②ページの取り出し ③PHP部分の処理 (結果はHTMLに埋め込み) HTML PHP HTML ④HTMLのみとなったページがブラウザに返信される (サーバサイドでの処理となっている)

PHP部分が処理されると… <html> <head> ... </head> <body> print("Hello, World!\n"); ?> </body>  </html> <html> <head> ... </head> <body> Hello, World! </body>  </html> "Hello, World!"と印字して,改行しなさい. (これはブラウザでは正しく表示できない) (これならブラウザで表示できる) 「\n」は,改行文字を表す.

サーバ上での約束事 webサーバ上に置くファイルの拡張子 HTMLのみのファイル: .html (または .htm) PHPを含むファイル: .php

HTMLに埋め込むときのルール PHPで書かれた部分を <?php と ?> で囲む.ここで, <?php を 開始タグ <head> ... </head> <body> <?php print("Hello, World!\n"); ?> </body>  </html> PHPで書かれた部分を <?php  と  ?> で囲む.ここで, <?php  を 開始タグ ?> を 終了タグ と呼ぶ.

PHP の文法は下記のサイトにて公開されています。 http://www.php.net/manual/ja/

PHPの文法(基礎編) 関数の呼び出し 文と文の区切り PHPからの「脱出」 コメント 変数とデータ型 演算子 制御構文 if,else,elseif,while,for 文など

print ( "Hello, World!\n" ) 関数の呼び出し 関数は,( )で囲まれたデータ(引数)を受け取り,何かの処理をして,結果を返す. 「引数」は「ひきすう」と読む. print ( "Hello, World!\n" ) 関数名 引数

print("Hello, ") ; print("World!\n"); ... 文と文の区切り 文と文の間は,セミコロン( ; )で区切る. ただし,PHPブロック(<?php と ?>で囲まれたひと連なりの部分)の最後の文の後ろには,セミコロンがなくてもよい. print("Hello, ") ; print("World!\n"); ... <?php print("Hello, ") ; print("World!\n") ?>

PHPからの「脱出」 開始タグ <?php と終了タグ ?> をうまく組み合わせて使うと: 1つのHTML文書の中で,「PHPから出たり入ったり」できる. PHPブロックを複数箇所に埋め込むことができる. <html> ... <body> <?php print("Hello, World!\n"); ?> <p>ここは HTML の1行目.</p> <?php print("Hello, World, Again!\n "); ?> <p>ここは HTML の2行目.</p> </body>  </html>

コメント CやC++のように,プログラムをわかりやすくするためのコメント(注釈)を書くことができる. コメントは,人間が読むための記述で,PHPの文としては無視される(何の処理も行われない). <?php print("Hello, World!\n"); // C++スタイルのコメントは // その行の終わりまで有効. /* Cスタイルのコメントは, 複数の行にまたがって書くことができる. */   print("Hello, World, Again!\n"); # シャープ文字で # で始まるコメント # もある. ?>

変数 PHPでは,変数名の頭に $ が付く. 例: 「$a」, 「$x」, 「$variable」 大文字と小文字は区別される. $a と $A,$name と $Name は別の変数になる. 英大文字,英小文字,数字,アンダースコア( _ )が使える. ただし,最初は英字かアンダースコア 数字で始まる変数名は不可 C/C++ のような変数の型宣言が必要ない. 使いたい型のデータをいきなり代入して初期化する. (宣言なしでいきなり代入してもエラーにならない.) 逆に,初期化を忘れていてもエラーにはならないので,気づきにくい.

データ型と初期化の例 文字列型 $name = "John"; $message = "Hello, World!\n" 整数型 $count = 1; $age = 43; 論理型 $condition1 = TRUE; $condition2 = False; 値は TRUE と FALSE のいずれか(大文字小文字は区別されない). 浮動小数点型 $pi = 3.1416; 代入文は 左辺に右辺を代入する.

演算子(1) 代入演算子: = 左辺に右辺を代入する. 例: $a = 0; 比較演算子 右辺と左辺を比較して,その結果を論理型の値(TRUE/FALSE)で返す.  == :左辺と右辺が等しい  != :左辺と右辺が等しくない  < :左辺が右辺より小さい  > :左辺が右辺より大きい  <= :左辺が右辺以下  >= :左辺が右辺以上

演算子(2) 連結演算子: . (ピリオド) 左辺の文字列データに右辺の文字列データを連結する. $left . $right 算術演算子  +  -  *  / 論理演算子  AND OR NOT 2つの論理型のデータに対して適用される. 例: $condition1 AND $condition2 1つの論理型のデータに対して適用される. 例: NOT $condition2

if (条件式) { 条件式が成り立つときに実行する文 } 次の文 制御構文(1) if 文 ある条件が成り立っているときだけ実行したいときに使う. 条件が成り立つときは,内側の文を実行して,次の文に進む 成り立たなかったら,そのまま何もせずに次の文に進む. 「条件分岐」ともいう. if (条件式) { 条件式が成り立つときに実行する文 } 次の文

if (条件式) { 条件式が成り立つときに実行する文 } else { 条件式が成り立たないときに実行する文 制御構文(2) else 文

どちらの条件式も成り立たないときに実行する文 制御構文(3) elseif 文 先行する if 文の条件が成り立たなかったとき,次の条件を検査する. if (条件式1) { 条件式1が成り立つときに実行する文 } elseif (条件式2) { 条件式2が成り立つときに実行する文 else { どちらの条件式も成り立たないときに実行する文

制御構文(4) switch 文 if ~ elseif ~ elseif ~…~ else でもいいが,条件式が単一の変数で判定されるときには便利な構文がある. switch (変数) { case "値1" : 変数の値が「値1」のときに実行する文     break; case "値2" : 変数の値が「値2」のときに実行する文   ... default : 変数の値がどれとも一致しなかったときに実行する文 break; } 次の文 コロン(:)であることに注意!

while (条件式) { 条件式が成り立つときに実行する文 } 次の文 制御構文(5) while 文 条件が成り立つ間,何度でも繰り返す. 条件式が成り立たなくなったら,次の文に進む. while ループともいう while (条件式) { 条件式が成り立つときに実行する文 } 次の文

do { 条件式が成り立つときに実行する文 } while (条件式) 次の文 制御構文(6) do-while 文 最初は1回必ず実行する. それが終わったら条件の検査をする. 条件が成り立たなくなるまで繰り返す. do { 条件式が成り立つときに実行する文 } while (条件式) 次の文

制御構文(7) for 文 同じ処理を一定の回数繰り返したいときに用いる. for ループともいう. 「カウンタが100以下の間は…」など 「カウンタを1にセットする」など 「カウンタの値を1増やす」など for (初期化の式; 条件式; 1回終了したときの処理) { 繰り返し実行する文 } 次の文

まとめ 関数の呼び出し 文と文の区切り PHPからの「脱出」 コメント 変数とデータ型 演算子 制御構文 if,else,elseif,while,for 文など

練習問題 その1 任意の数を生成して 表示させてみよう。 乱数を発生させる関数を探す 1. で、発生させた数字が素数かどうか判定してみよう。 ある数が素数であるかどうかは、どうやって調べる? その2 100個の乱数を生成して表示させてみよう 小さい順にソートしてみよう

2007/4/25 演習問題 問題1) PHP を用いて、1, 2, 3, .... , 99 と、カンマで区切られた1から99までの数字をすべて表示するプログラムを作成せよ。 問題2) 上の問題1の出力について、2の倍数は赤で、3の倍数は青で、6の倍数は緑で表示するようにプログラムを改良せよ。 HTMLにおいてフォントの色を変えるには、次のようにするとよい。 <FONT COLOR=“FF0000”> red</FONT>の場合 <FONT COLOR=“00FF00”>green</FONT>の場合 <FONT COLOR=“0000FF”>blue</FONT>の場合 情報科学III(3) 31

RAMでの出席登録についての注意 教員が講義時間を設定するようになっている. 出欠確認を開始してから,その講義時間が終了するまでの間に登録しなくてはならない. それを過ぎると,出席したことを登録できなくなるので,注意すること.