Yasuのブログ

北海道の大学生Yasuが、ライティングスキルとIT知識を高めるためにブログを始めました。

PHPのお勉強。

☆定数

PHP_VERSION PHPのバージョン

PHP_OS PHPが稼働中のOS

TRUE

FALSE

NULL 何も値がない

__FILE__ PHPファイルのフルパスとファイル名

__LINE__ 処理中の行番号

__FUNCTION__ 関数名

__CLASS__ クラス名

__METHOD__ クラスのメソッド名

 

☆define関数

define("定数名", "定義する値");

例えば・・・define("HELLO", "こんにちは");

 

☆変数

$変数名 のようにして使う.

1. 大文字と小文字は区別される

2. 数字は名前の先頭に来てはいけない

3. アンダーバーは先頭に使用可能

4. 変数の型はPHPが勝手に判断してくれる

 

☆配列

$変数名

見た目では配列か変数かは分からない.

ex)

$week = "月";

$month = 1;

 

出力するには

print $week[0];

インデックスの0番で参照.

 

以下の2つは等価.

$week ="月";

$week ="火";

$week[] ="水";

 

$week[0] ="月";

$week[1] ="火";

$week[2] ="水";

 

データを代入した同じインデックスに再度データを代入すると上書きされる.

 

$data = array(データ1, データ2, データ3, …);

というようにarray関数を利用することもできる.

 

配列の初期化

$data = array();

で$dataを初期化することができる.

 

explode関数で配列作成

$data = explode("区切り文字", "文字列");

ex)

<?php

     $week = explode(",", "月,火,水,木,金,土,日");

     print $week[3];

?>

区切り文字を設定することで区分を判定し、それぞれインデックスに0番から代入されていく.

 

連想配列

$変数名

配列や変数と同じ規則.

データの格納方法

$member["name"] = "○田○夫";

データの出力方法

$member["name"] = "○田○夫";

print $member["name"];

連想配列でもarray関数を使うことができる.

$data = array(キー1 => データ1,

                    キー2 => データ2,

                    キー3 => データ3, …);

 

☆多次元配列

$member[0] = array("name" => "名前", "age" => "年齢", "tall" => "身長");

出力の仕方は下記.

print $member[0]["name"];

print $member[0]["age"];

以下同様.

 

演算子

代数演算子C言語と同様。

 

$answer = 5+1;

print " 5+1=$answer";

のように、""で囲まれた中に変数があると変数の部分が格納されているデータに置き換わる。

C言語のprintfと同様と覚えていればよい.

ただし、C言語と違うのは、’で囲まれた場合は変数展開は行われない.

 

代入演算子C言語と同様.

+=は既知。変数に何かしらの値を加算して代入する.

.=は変数$stringに文字列を連結して代入する.

変数に「.」をつけて文字列を入力すると連結できる.

 

ビット演算子

& AND

| OR

^ XOR(排他的論理和)

~ NOT

<< 左シフト

>> 右シフト

 

比較演算子

== 等しい

=== 値と型が等しい

!= (<>) 等しくない

!== 値が等しくない、または型が等しくない

その他は既知として省略した.

 

TRUE:1

FALSE:何も返さない←注意.

 

三項演算子

$変数 = (条件式) ? 値1 : 値2 ;

TRUEの場合、値1を、FALSEの場合値2を代入するという意味.

 

エラー制御演算子

print "エラー制御演算子のテスト";

$string = @$data[$key];

 

実行演算子

PHPが稼働しているOSのコマンドを実行するために使用する.

Macでのバッククォートの入力方法 Shift + @

ex)

$filelist = `pwd`;

 

print "<PRE>";

print $filelist;

print "</PRE>";

 

PREタグについて

「<PRE>~</PRE>で囲まれた範囲のソースに記述されたスペース・改行などを、そのまま等幅フォントで表示します。」(引用、HTMLタグリファレンスhttp://www.htmq.com/html/pre.shtml より)

 

Windowsで実行する場合は、$filelist = `dir`;とコマンドを変更する.

 

++$count

$count++

違いは?→前置加算子に1を加えて返す、後置加算子を返して、1を加える

 

$count = 0;

print $count++; //0

print "<br>";

print $count; //1

print "<br>";

 

$count = 3;

print $count--; //3

print "<br>";

print $count; //2

print "<br>;

 

論理演算子

PHPはand or xorとそのまま用いてもよい.

&&,||,!等のC言語的作法も使用可能.

 

配列演算子

$c = $a + $b;

配列$aに配列$bを追加

warning: 追加する時にキーが同じものがあっても上書きはされない.

 

if else文

else if

switch文

while文

do while

for文

以上は全てC言語の仕様と同様であるから既知.

 

foreach文

配列や連想配列から値だけを取り出すことが出来る関数.

ex)

foreach($配列 as $変数)

{

     処理1;

     処理2;

     print $変数;

     …

}

 

実際の使用例として

 

$week = array("月","火","水","木","金","土","日");

 

foreach($week as $value)

{

     print $value;

     print "<br>";

}

 

この場合、

..

と出力される.

※foreach文は処理前に配列のポインタをリセットするが、それ以外は前処理から進んだポインタ位置から始めるので意図とは違う動きをすることがある.

 

foreach($配列 as $キー => $変数){}

という様に、キーを取り出す事も可能.

 

continue,break

 

C言語と同様の仕様、既知.