<?php
...
...
?>
PHP において変数はいくつかの決まりがある:
1. 変数は [$a], [$b], [$c] で始まる
2. 変数名の大文字と小文字は区別される
helloworld.php
1 2 3 4 5 6 7 8 9 | <?php
$str1 = "Hello, PHP World";
print($str1 . "\n");
$str2 = "Hello, PHP 世界";
print($str2 . "\n");
?>
|
helloworld.php の実行結果は:
[wtopia php.begin]$ php helloworld.php
Hello, PHP World
Hello, PHP 世界
可変変数とは:
変数名を変数に代入することができる. [$$variable] を利用して, 変数に入っている文字列を変数名として, 別の変数にアクセスことができる.
var.php
1 2 3 4 5 6 7 8 | <?php
$name = "feifei";
$feifei = 28;
print($$name . "\n")
?>
|
var.php の実行結果は:
[wtopia php.begin]$ php var.php
28
[;] (セミコロン) で区切られる
文字列型 String 型に対しては:
1. シングルクォーテーション (') -- エスケープシーケンス文字が使えない
2. ダブルクォーテーション (") -- エスケープシーケンス文字が使える
以下にヒアドキュメントによる例を示す, ここでは, FEIFEI の間の 3 行の文字列として, 変数 $str に代入される
multi_str.php
<?php
$str = <<< FEIFEI
This is a test.
これはテストです.
这是个测试.
FEIFEI;
print($str);
?>
multi_str.php の実行結果は:
[wtopia php.begin]$ php multi_str.php
This is a test.
これはテストです.
这是个测试.
配列の情報を詳しく表示してくれる関数:
print_r()
注意:
配列の中の要素の型が一致しなくても良い, 例えば, 整数型と文字列型が混ざっていてもかまわない.
array1.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php
$color[0] = "red";
$color[1] = "green";
$color[2] = "black";
$color[3] = 1;
$color[4] = 2;
$color[5] = 3;
print_r($color);
?>
|
array1.php の実行結果は:
[wtopia php.begin]$ php array1.php
Array
(
[0] => red
[1] => green
[2] => black
[3] => 1
[4] => 2
[5] => 3
)
PHP には連想配列がある. 連想配列では, 配列のキーを数字だけでなくて, 文字列を使うことができる.
asso_array.php
1 2 3 4 5 6 7 8 9 | <?php
$color['pen'] = "black";
$color['bag'] = "white";
$color['box'] = "gray";
print_r($color);
?>
|
asso_array.php の実行結果は:
[wtopia php.begin]$ php asso_array.php
Array
(
[pen] => black
[bag] => white
[box] => gray
)
function 関数名(引数){
...
...
}
define_func1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php
function add($a, $b){
return $a + $b;
}
function sub($a, $b){
return $a - $b;
}
function mul($a, $b){
return $a * $b;
}
function div($a, $b){
return $a / $b;
}
print( "10 + 20 = " . add(10, 20) . "\n" );
print( "10 - 20 = " . sub(10, 20) . "\n" );
print( "10 * 20 = " . mul(10, 20) . "\n" );
print( "10 / 20 = " . div(10, 20) . "\n" );
?>
|
define_func1.php の実行結果は:
[wtopia php.begin]$ php define_func1.php
10 + 20 = 30
10 - 20 = -10
10 * 20 = 200
10 / 20 = 0.5
変数にはスコープと呼ばれる有効範囲が存在する.
関数内で定義されて変数はローカル変数.
関数以外で宣言された変数はグローバル変数.
global_local.php
1 2 3 4 5 6 7 8 9 10 11 | <?php
$a = 1; /* Global Variable */
function localfunc(){
print($a+9 . "\n"); /* Local Variable is different from Global Variable */
}
localfunc()
?>
|
global_local.php の実行結果は:
[wtopia php.begin]$ php global_local.php
9
$a + $b
$a - $b
$a * $b
$a / $b
$a % $b
++$a
$a++
--$a
$a--
$a == $b
$a != $b
$a < $b
$a > $b
$a <= $b
$a >= $b
$a = $b
$a.$b ($a と $b を結合する)
$a += $b
$a -= $b
$a *= $b
$a /= $b
$a .= $b
$a && $b
$a || $b
$a xor $b
!$a
if1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php
fscanf(STDIN, "%d\n", $point);
if($point >= 90){
print("A"."\n");
}
else if($point >= 80){
print("B"."\n");
}
else if($point >= 70){
print("C"."\n");
}
else if($point >= 60){
print("D"."\n");
}
else{
print("F"."\n");
}
?>
|
if1.php の実行結果は:
[wtopia php.begin]$ php if1.php
100
A
[wtopia php.begin]$ php if1.php
20
F
[wtopia php.begin]$ php if1.php
60
D
[wtopia php.begin]$ php if1.php
72
C
注意:
if 分の中の else if か, elseif か どれかを取ってもエラーとはならない.
switch1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php
$a = "abc";
$b = "def";
$c = "b";
switch($c){
case "a":
echo "a"."\n";
break;
case "b":
echo "b"."\n";
break;
default:
echo "default"."\n";
break;
}
?>
|
switch1.php の実行結果は:
[wtopia php.begin]$ php switch1.php
b
Example: Template Stytle Navigation
temp_navi.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php
switch($_GET['go']){
case "1":
$inc = 'Page01.php';
break;
case "2":
$inc = 'Page02.php';
break;
case "3":
$inc = 'Page03.php';
break;
case "4":
$inc = 'Page04.php';
break;
default:
$inc = 'default.php';
break;
}
//include ($inc);
?>
|
while1.php
1 2 3 4 5 6 7 8 9 | <?php
$i = 0;
while($i < 5){
print("$i\n");
$i++;
}
?>
|
while1.php の実行結果は:
[wtopia php.begin]$ php while1.php
0
1
2
3
4
do_while1.php
1 2 3 4 5 6 7 8 9 10 | <?php
$i = 0;
do{
print("$i\n");
$i++;
}while($i < 5);
?>
|
do_while1.php の実行結果は:
[wtopia php.begin]$ php do_while1.php
0
1
2
3
4
for1.php
1 2 3 4 5 6 7 | <?php
for($i = 0; $i < 5; $i++){
print("$i\n");
}
?>
|
for1.php の実行結果は:
[wtopia php.begin]$ php for1.php
0
1
2
3
4
foreach 文は配列に対して繰り返し処理を行う.
foreach は以下の2つの構文がある:
foreach(配列 as $val)
foreach(配列 as $key => $val)
foreach1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php
$family = array(
'feifei' => 28,
'yangyang' => 8,
'yangguang' => 2,
'kankan' => 1
);
foreach($family as $key => $val){
print("$key: $val\n");
}
?>
|
foreach1.php の実行結果は:
[wtopia php.begin]$ php foreach1.php
feifei: 28
yangyang: 8
yangguang: 2
kankan: 1