PHP入門学習ノートの一つ

4083 ワード

1.基本構文HTMLコードにPHPスクリプトを埋め込む方法は、そこにコードを書くことです.ブラウザへの出力データはechoまたはprint関数を使用します.echoは複数のパラメータを受け入れることができ、printは1つしか受け入れられない.echoの形式はvoid echo(string arg 1,[,...string argn]);PHP構文では括弧を省略できます.たとえば、
 
  
$my =' my ';
echo 'Hello',$my,'world'
?>

ブラウザにHello my worldが出力されます
PHPはまた、printf('%d apples',100)のようなC言語に似たprintf関数をサポートし、100 applesが出力されます.sprintfの使い方はprintfと一致しますが、ブラウザに出力するのではなく、文字列を返します.
2.データ型と変数
PHPは弱いタイプで、1つの変数は事前に宣言する必要はなく、タイプを指定する必要もありません.PHPの変数は$に変数名を付け、PHPの変数は大文字と小文字を区別します.たとえば、前例の$my='my'です.
PHPがサポートする変数のタイプには、ブール、整数、浮動小数点、文字列、配列、オブジェクトが含まれます.前の4つはよく使われていて、他の言語と似ていて、あまり紹介しません.配列とオブジェクトは後述する.
PHPには、getttypeであるオブジェクトのタイプを検出する関数があります.gettypeはstringを返します.その値はarray、boolean、double、integer、object、resource、string、unknow typeです.PHPも明示的なタイプ変換をサポートし,構文はCと類似している.
変換オペレータ
アレイ
ブール型
(int)(integer)整数
オブジェクト
(float),(double),(real)浮動小数点数
ストリング文字列
例:
 
  
$str ='a string';
$num=15;
$numstr='123.3';
echo gettype($str),'
';
echo gettype($num),'
';
echo gettype($numstr),'
';
$numstr=(float)$numstr;
echo gettype($numstr);
?>

出力結果:
string
integer
string
double
変数が何らかのタイプであるかどうかを判断する関数もあります.例えばis_array(),is_bool()など、使い方は似ています.
3.関数と変数の作用域PHPが関数を宣言する方法は簡単で、形式は以下の通りである.
 
  
function functionName(parameters){

function body

}

戻りタイプを指定する必要はありません.カッコでも変数タイプを指定する必要はありません.変数名があればいいです.例:
 
  
function taxedPrice($price,$taxrate){
return $price*(1+$taxrate);
}
echo taxedPrice(100, 0.03);
?>

デフォルトでは、PHPはパラメータを値別に渡し、関数内でパラメータの値を変更しても関数外変数の値は変わりませんが、PHPは参照別に渡し、構文はCと一致し、&$paramName、例えば次の古典的な例をサポートします.
 
  
function swap1($x,$y){
$t=$x;$x=$y;$y=$t;
}
function swap2(&$x,&$y){
$t=$x;$x=$y;$y=$t;
}
$a=3;$b=5;
swap1($a,$b);
printf("a is %d, b is %d
",$a,$b);
swap2($a,$b);
printf("a is %d, b is %d
",$a,$b);
?>

出力結果:
a is 3, b is 5
a is 5, b is 3
PHPの関数はパラメータのデフォルト値もサポートしており、構文もCと同じです.例:
 
  
function taxedPrice($price,$taxrate=0.03){
return $price*(1+$taxrate);
}
echo taxedPrice(100);
?>

変数の役割ドメインについて説明します.PHPの変数役割ドメインはCとよく似ており,局所変数,関数パラメータ,グローバル変数,静的変数の4種類がある.ローカル変数は関数内で宣言された変数であり、関数パラメータは関数の最初に宣言された変数である.関数に宣言されていない変数はグローバル変数であり、グローバル変数はどこでもアクセスできますが、Cとは異なり、関数でグローバル変数の値を変更するにはGLOBALキーでグローバル変数であることを明示的に指定する必要があります.そうしないと、PHPは同じ名前のローカル変数を宣言し、上書きします.例:
 
  
$taxrate=0.03; //global
function change1() {
$taxrate+=1;
}
function change2() {
GLOBAL $taxrate;
$taxrate+=1;
}
change1();
echo $taxrate,'
';
change2();
echo $taxrate,'
';
?>

出力の結果は次のとおりです.
0.03
1.03
PHPにはスーパーグローバル変数もあります.スーパーグローバル変数は、現在のユーザセッション、ユーザ操作環境、ローカル環境など、環境に関する情報に主にアクセスするためにPHPシステムによって事前定義されています.スーパーグローバル変数は、$_などの配列です.SERVERにはサーバに関する情報が格納されています.$GET,$_POST,$_FILES,$_COOKIEには,クライアントがgetコミット,postのコミットを用いた情報,アップロードされたファイル,クッキー情報などがそれぞれ格納されている.これらの変数の使用はすべて簡単で、どんな情報が必要かは検索するだけです.
4変数の変数はCのような静的言語とは異なり,PHPの変数名自体が1つの変数であってもよく,多くの変数を動的に生成する必要がある場合に便利である.例:
 
  
$r="hello";
$$r="I am hello";
echo $hello;
?>

出力結果:I am hello
5.フロー制御文は主にif else,while,for,do while,switchを含む.これらはC言語に似ていて、基本的に一致しています.あまり紹介しない.PHPのelseifはキーワードで、つながっていますが、C言語はelse ifです.