• 検索結果がありません。

比較演算子 の 結果 は全て 論 理 型

$a = true;

print $a . "¥n";

var_dump($a);

$a = false;

print $a . "¥n";

var_dump($a);

PHPの基本 変数と型

オブジェクト型(object)

クラスのインスタンス(実態)

クラス

オブジェクトの設計図

クラスで定 義 したメ ソ ッドを使える

メソッド

クラスに紐付いた関数

メンバ変数を持てる

メンバ変数

オブジェクトの中に格納されている変数

# 36

PHPの基本 変数と型

リソース型(resource)

外部リソース(情報資源)への参照を保持する 特殊 な変数

他の型からの変換は不可能

ファイル/ディレクトリ

データベース(接続, ステートメント, etc

グラフィック(GD, ImageMagik, etc

$fp = fopen("test.txt", "r");

var_dump($fp);

fclose($fp);

PHPの基本 変数と型

ヌル型(Null)

値が何も無いことを示す特殊な変数

以 下 の場合に N ullと 見 なされる

「Null」が代入されている場合(下記サンプル参照)

値が何も無い場合

変数が存在しない場合

unset()関数で変数が破棄されている場合

$var = null;

var_dump($var);

# 38

PHPの基本 演算子

演算子

演算子の種類

代数演算子

代入演算子

比較演算子

加算子/減算子

文字列演算子

PHPの基本 演算子

算術演算子

数値を足したり引いたりするための演算子

優先順位も含め算数と全く同じ

説明 詳細

-$a 負にする $aの符号を反転したもの

$a + $b 加算 $a$bの和

$a - $b 減算 $a$bの差

$a * $b 乗算 $aおよび$bの積

$a / $b 除算 $aおよび$bの商

$a % $b 乗余 $a$bで割った余り

# 40

PHPの基本 演算子

算術演算子

演習:変数に値を代入し、計算してみましょう

値、演算子を変更して演算結果を確認しましょう

$a = 1;

$b = 2;

print ($a - $b);

PHPの基本 演算子

代入演算子

変数に値若しくは演算結果を代入する演算子

説明

$a = 3; $a3を代入

$a += 5; $a5を加算

$b="Hello"; $bに文字列を代入

$a = 10;

$a += 2;

print ($a);

# 42

PHPの基本 演算子

比較演算子

2つの値を比較する演算子。演算結果はboolean。

説明 詳細

$a == $b 等しい

$a === $b 等しい 型比較も行う

$a != $b 等しくない

$a <> $b 等しくない ($a!=$bを推奨)

$a !== $b 等しくない 型比較も行う

$a = 1;

$b = 2;

var_dump($a===$b);

PHPの基本 演算子

比較演算子(続き)

2つの値を比較する演算子。演算結果はboolean。

説明

$a < $b より少ない

$a > $b より多い

$a <= $b より少ないか等しい

$a >= $b より多いか等しい

$a = 1;

$b = 1;

var_dump($a<=$b);

# 44

PHPの基本 演算子

加算子・減算子

値を+1または-1する演算子。

説明 詳細

++$a 前置加

算子

参照前に$a+1

$a++ 後置加

算子

参照後に$a+1

--$a 前置減

算子

参照前に$a-1

$a-- 後置減

算子

参照後に$a-1

<?php

$a = $b = 1;

print ++$a;

print "¥n";

print $a;

print "¥n";

print $b++;

print "¥n";

print $b;

print "¥n";

?>

PHPの基本 演算子

文字列演算子

文字列同士を結合する演算子。

説明 詳細

$b = $a . ",There!"; 結合演算子 .」 によって文字列 を結合する

$b .= "There!"; 結合代入演算子 左辺の値に文字列を結

合する

$a = "Hello";

$b = $a . ",There!";

print $b;

# 46

PHPの基本 演算子

論理演算子

複数の条件式を論理的に結合する演算子です

説明 詳細

&& 論理積 双方がTRUEの場合にTRUEを返す

|| ( or ) 論理和 いずれかがTRUEの場合にTRUEを返す

xor 排他的論理和 いずれかがTRUEでかつ双方ともTRUE でない場合にTRUEを返す

! 否定 式がFALSEである場合にTRUEを返す

$a = true;

$b = false;

var_dump($a xor $b);

PHPの基本 定数

define("HOSTNAME", "ZEND1");

define("HOSTNAME", "ZEND2");

print (HOSTNAME);

定数

不変の値を保持する

再定義はできない

使える文字は英数字、アンダースコアのみ

スコープ(後述)規則がない

配列は格納できない

# 48

PHPの基本 定数

マジック定数

自動的に定義される定数

使われ方によって値は変化する

名前 説明

__LINE__ 実行中の行番号

__FILE__ 実行中ファイルのフルパスとファイル名

__FUNCTION__ 関数名

__CLASS__ クラス名

__METHOD__ クラスのメソッド名

PHPの基本

制御構造と関数

制御構造とは …

プログラムの 流 れを 制御 するもの

制御構造の種類

順次構造

上から順に処理を行う構造

選択構造

式の結果に応じて処理を分岐する構造

反復構造

式の結果に応じて処理を繰り返す構造

# 50

PHPの基本

制御構造と関数

if

条件に一致した際(TRUEの場合)、処理を実行します

$a = 1;

if( $a == 1 ){

print '$aには1が代入されています';

}

if ( 条件式 ) { 処理

}

PHPの基本

制御構造と関数

else

条件に一致しない場合(FALSE)、処理2を実行し ます

$a = 1;

if( $a >= 10 ){

print '$aは10以上です';

}else{

print '$aは9以下です';

}

if ( 条件式 ) { 処理1

} else { 処理2 }

# 52

PHPの基本

制御構造と関数

elseif

条件式1に一致せず(FALSE)、且つ条件式2に一 致した場合(TRUE)、処理2を実行します

$a = false;

$b = true;

if($a){

print "Hello";

}elseif($b){

print "bye";

}

if ( 条件式1) { 処理1

} elseif( 条件式2){

処理2 }

PHPの基本

制御構造と関数

while

条件式の結果が(TRUE)のとき、処理を繰り返します

$i = 1;

while( $i <= 10 ){

echo $i++ . "¥n";

}

while( 条件式 ) { 処理

}

# 54

PHPの基本

制御構造と関数

do … while

条件式の結果が真(TRUE)のとき、処理を繰り返し ます

処理を実行した後で条件式を評価します

$i = 0;

do{

print ++$i . "¥n";

}

while( $i <= 10 );

do{

処理

while( 条件式 )

PHPの基本

制御構造と関数

for

開始時の処理を無条件で実行します

条件式の結果が(true)の時、処理を実行します

実行後の処理を行い、条件式の結果が(false)にな

るまでループ処理を継続します

for( $i=1; $i<=10; $i++ ){

echo $i . "¥n";

}

for( 開始時の処理; 条件式; 実行後の処理 ){

処理 }

# 56

PHPの基本

制御構造と関数

foreach

配列要素に対する反復構造

配列の要素が$value(任意の名称)に代入されてい きます

二種類の構文があります

$a = array("php", "perl", "java");

foreach($a as $val){

print $val . "¥n";

}

foreach ( 配列 as $value){

処理 }

PHPの基本

制御構造と関数

foreach (構文)

連想配列をループ処理する際、非常に有効です

要素のキーが $key に代入されます

$os = array(

"opensource" => "linux", "ms" => "windows",

"apple" => "osx"

);

foreach( $os as $key => $val ){

print $key. "::" .$val."¥n";

}

foreach ( 配列 as $key => $value){

処理 }

# 58

PHPの基本

制御構造と関数

break

その時点で反復構造(while, do-while, for, foreach ) とswitch(後述)構造を抜けます

for($i = 1; $i < 50; $i++){

if($i == 25){

break;

}

print $i . "¥n";

}

PHPの基本

制御構造と関数

continue

反復構造の残りの処理をスキップし、次の処理を 実行します

$i = 0;

while($i < 10){

$i++;

if($i == 5){

continue;

}

print "$i" . "¥n";

}

# 60

PHPの基本

制御構造と関数

switch

一つの変数を複数の値と比較し、それぞれ異なる 処理を行わせる制御構造

$a = 1;

switch( $a ){

case 0:

print 'very good';

break;

case 1:

print 'good';

break;

case 2:

print 'not bad';

break;

default:

print '...';

} switch ( 条件式 ) {

case a : 処理 a break;

case b : 処理 b break;

default : 処理

}

PHPの基本

制御構造と関数

return

スクリプトの実行を中止します

print "a¥n";

print "b¥n";

return;

print "c¥n";

# 62

PHPの基本

制御構造と関数

include・require

PHPスクリプトを読み込みます

// foo.phpが無いとwarningになります include "foo.php";

// bar.phpが無いとFATAL ERRORになります require "bar.php";

PHPの基本

制御構造と関数

include_once・require_once

1度だけPHPスクリプトを読み込みます

2度目に実行しても再度読み込みは行いません

// foo.phpが無いとwarningになります Include_once "foo.php";

// bar.phpが無いとFATAL ERRORになります require_once "bar.php";

# 64

PHPの基本

制御構造と関数

関数とは …

処理を一まとめにしたもの 2種類 の 関 数が存在する

ビルトイン関数

PHPにデフォルトで組み込まれている定義 済みの関数

ユーザ定義関数

ユーザ自身が定義する関数

PHPの基本

制御構造と関数

ビルトイン関数

DB接続や文字列操作など多種にわたる関数が存在

文字列操作

strcmp, strstr, strcat, strlen, etc

DB操作

pg_connect, mysql_query, db2_prepare, etc

1000以上存在します

http://php.benscom.com/manual/ja/indexes.php#in dex.functions

# 66

PHPの基本

制御構造と関数

ユーザ定義関数

「function」命令を使用して定義を行う

関数名の命名規則は変数と同じ

引数とは

関数に渡す値 ⇒ 処理を行ってほしい対象

戻り値とは

関数で処理を行った結果を自動的に返したもの

function 関数名 (引数) {

処理(戻り値)

}

PHPの基本

制御構造と関数

ユーザ定義関数

まずは簡単な関数を定義してみましょう

定義した関数を実行してみましょう

function foo(){

print 'こんにちは';

}

foo();

# 68

PHPの基本

制御構造と関数

ユーザ定義関数

引数と戻り値のある関数を定義してみましょう

定義した関数を実行してみましょう

function sale($teika){

$urine = $teika * 0.7;

return $urine;

}

print "3割引!!¥t". sale(1500) . "円";

PHPの基本

制御構造と関数

スコープ( 変数の有効範囲 )

関数内にある変数

ローカル変数

関数外にある変数

グローバル変数

2種類の変数は全く別の世界に存在する

$a = 1;

function hoge(){

$a;

print ($a + 1);

}

hoge();

ローカル変数の 有効なエリア

グローバル変数 の有効なエリア

# 70

PHPの基本

制御構造と関数

スコープ( 変数の有効範囲 )

グローバル宣言することで、ローカル変数をグ ローバル変数として扱うことが可能

$a = 1;

function hoge(){

global $a;

print ($a + 1);

}

hoge();

データのやりとり

サーバ-クライアント間のデータのやり取りの手

# 72

データのやりとり

入力フォーム

WebアプリケーションではHTMLのフォームによ るデータのやりとりが非常に多く見られます

クライアント側 サーバ側

apache

PHP

① ブラウザの入力フォームに入力された値はHTTPプロトコルによってサーバに送信される。

② サーバ側では値をPHPにより受け取り、ロジカルな処理を行う。

③ PHPスクリプトの実行結果がクライアントに送られ、ユーザのブラウザ表示に反映される。

データのやりとり

<html>

<body>

<form action="post.php" method="post">

<table border = "1">

<tr>

<td>名前</td>

<td><input type="text" name="name"></td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit" value="送信"></td>

</tr>

</form>

</table>

</body>

</html>

実際にプログラムを作ってみましょう

まず簡単な入力フォームを作成します( .htmlで保存 )

# 74

データのやりとり

データを受け取り、処理を行う

htmlの <form>タグのmethod属性を「post」で指定した場合、

PHPではスーパーグローバル変数(詳細は後述) $_POST で受け 取ることが出来る

フォームで送信した値は<input>タグのname属性で指定した名 称をキーとした$_POSTの連想配列に格納される

PHPスクリプトを作成し、実際にアウトプットを表示してみま しょう

<?php

$name = $_POST['name'];

print "名前を受け取りました" . "<br />" . "$name";

?>

データのやりとり

スーパーグローバル変数

PHPスクリプトにアクセスした時点で自動的に 定義される変数

関数内であってもアクセス可能

値は連想配列として格納される

$_POSTもスーパーグローバル変数のひとつ

# 76

データのやりとり

関連したドキュメント