PHP ライトスピード チュートリアル
投稿日:2010-07-29 | 出典:rediceのブログ | 著者:redice | 182人が視聴しました | 0人が拍手しました! // by redice 2010.07.29
// redice@163.com
これは、会社のインターン向けに書かれた PHP 学習概要であり、私自身の学習とプロジェクト開発の経験に基づいて、PHP 言語の核となる知識ポイントがまとめられています。 PHP を始めるための簡単なチュートリアルとして使用できます。
1 クライアントサイド スクリプトとサーバーサイド スクリプト
クライアント: VBscript (IE に強く依存、諦める)、Javascript
サーバー: ASP、PHP、Perl
JSP (サーバーサイド、非スクリプト)
Python (サーバーサイド、非スクリプト)
2 言語学習のキーポイント/順序
関数、機能、構文、変数、演算子、フロー制御、関数、データ構造
3 学習のキーポイントサーバーサイド言語
データの入出力、データベース操作、セッションと Cookie の使用
4 つの PHP 関数
多くのサーバー ソフトウェア (Apache、IIS ISAPI/FastCGI、Nginx など) と組み合わせたデータ処理をサポート
5 つの PHP 機能
クロスプラットフォーム、非常に豊富な組み込み関数ライブラリ (少ない記述でより多くのことを実行)、簡潔な構文、および多数の参考資料
6 PHP 構文
// これはコメント行、コメント行は // で始まります
phpinfo(); // ステートメントは ; で終わります
7 つの PHP 変数
緩い型、自動宣言、強制変換
PHP 変数は $ (お金から始めましょう。非常に手頃な言語です)
$txt = "Hello World!"; // 文字列は "" で囲まれ、エスケープされます。
型付き言語: VB、VBscript 、ASP、PHP、Python
厳密に型付けされた言語: C (C++)、JSP
8 つの PHP 演算子
算術演算: +、-、*、/、% (剰余)、++ ( 1 ずつ増加)、-- (1 ずつ減少)
代入演算: =、+=、-=、*=、/=、.=、%=
比較演算子: ==、===、!= 、> ;、<、>=、<=
論理演算子: &&、||、!
その他の演算子: . (文字列連結)
$i=10; =1;
echo $i; // エコーデータ出力関数、print
?> も使用できます。など 符号と三重等号
== 値が等しいかどうかのみを比較し、値の両側で型変換を実行します
=== 値と型が同じであるかどうかを比較し、実行しません型変換が成立するには、型と値が同じである必要があります
例:
$a="2" // 文字列型 2
$b=2; // 数値型 2
$a==$; b,は正しいです、両方とも2です
$a===$ b,は間違いです、$aは文字型です $bは数値型です 値は同じですが型が異なります
9 PHPフロー制御。
連続ステートメント
分岐ステートメント: if else、Switch
// if else ステートメント
if (条件)
条件が true の場合に実行されるコード
elseif (条件)
条件が true の場合に実行されるコード;
else
条件が false の場合に実行されるコード
// switch ステートメント
switch (式)
{
case label1:
式 = label1 の場合に実行されるコード
case label2:
実行されるコード実行される if 式 = label2;
デフォルト:
実行されるコード
if 式が label1 と label2 の両方とは異なる
}
ループステートメント: while、for、foreach
//while ループ
while (条件)
実行されるコード;
// for ループ
for (初期化; 条件; インクリメント)
{
実行されるコード;
// foreach ループ、配列を走査
foreach (値としての配列)
{
実行されるコード
}
& //foreach ループの例
$arr=array("one", "two", "three");
foreach ($arr as $value)
echo "Value: " . $value . }
?>
*PHP プログラムの実行を終了します:
exit($str); // PHP の実行を終了し、$str
die(); // PHP の実行のみを終了します。 10 PHP 関数
組み込み関数:
http://php.chinaunix.net/manual/en/
(1) データ出力: echo、print、print_r (出力配列)
(2) 文字列操作:
// Return $string
int strlen ( string $string ) の長さ
// $str の両端のスペースまたはその他の文字を削除
string Trim ( string $str [, string $charlist ] )
php
$str=" シャオピン ニ ハオ! ";
echo トリム($str);
echo トリム($str," x!")
//文字列を大文字と小文字に変換します
string strto lower (string $str)
string strtoupper (string $string)
//string を検索
int strpos (string $haystack,mixed $needle [, int $offset = 0])
戻り値: 見つかった部分文字列の位置を返し、見つからない場合は false を返します
注:
部分文字列 $needle が $haystack 文字列の先頭にある場合は、0 が返されます
したがって、 string が見つかった場合は、== の代わりに === を使用する必要があります
< ;?php
$str="redicecn.com"
// 以下は誤った判断です
if(strpos($str,"redice) ")==false)
{
echo "部分文字列が見つかりません!";
}
else
{
echo "部分文字列が見つかりました!";
}
?>
// 文字列インターセプト
string substr ( string $string , int $start [, int $length ] )
//文字列置換
string str_replace (混合 $search, 混合 $replace, 混合 $subject)
string str_ireplace (混合 $search, 混合 $replace, 混合 $ subject) // 大文字と小文字は区別されません
(3) 時刻と日付:
// time() 関数は現在時刻の Unix タイムスタンプを返します
time(void)
// date() 関数は現地時間をフォーマットします/date
// デフォルトはグリニッジタイムゾーンです
date(format,timestamp)
// East 8 District に設定します
date_default_timezone_set('Etc/GMT-8');
echo date(" Y-m-d H:i:s",time());
?>
カスタム関数:
$sitename="電子工学コミュニティ";
function welcom($user)
{
global $sitename; // グローバル変数を参照します
// 戻り値
return $user." さん、".$sitename." へようこそ! ";
}
//関数呼び出し
echo welcom("redice");
?>
11 PHPデータ構造
array
//数値配列の定義
(1) キーを自動的に割り当てる
$ names = array("シスター フロン", "シスター フェン", "ブラザー シャープ");
(2) 手動でキーを割り当てる
$names[0]="シスター フロン"
$names[1]="シスター フェン"; " ;
$names[2]="シャープ兄弟";
//連想配列の定義
$ages = array("フロン姉妹"=>32, "フェン姉妹"=>29, "シャープ兄弟"= >42);
は次のようにすることもできます
$ages["シスター・フロン"] = 32;
$ages["シスター・フェン"] = 29;
$ages["ブラザー・シャープ"] = 42 ;
/ / 多次元配列
$students = array
(
"0911120688"=>array
(
"名前"=>"Qi Peng",
"年齢"=>24,
"性別"=>" 男性"
)、
"0911120699"=>配列
(
"名前"=>"Song Yuwei"、
"年齢"=>22、
"性別"=>"女性"
)、
"0911120670"=>array
(
"名前"=> " Chen Sufang",
"年齢"=>22,
"性別"=>"女性"
)
);
12 PHP 入力 (クライアント入力の取得)
(1) $_GET 変数
$_GET変数 HTTP GET メソッドによって送信される変数名と値を内容とする配列です。
(2) $_POST 変数
$_POST 変数は配列であり、その内容は HTTP POST メソッドで送信された変数名と値です。
(3) $_REQUEST 変数
PHP の $_REQUEST 変数には、$_GET、$_POST、$_COOKIE の内容が含まれます。
13 SESSION と COOKIE の使い方
(1) SESSION
はサーバー側に保存されており、サーバーは COOKIE 内の SESSIONID で判断し、認証によく利用されます。
SESSION を使用する前に、session_start() でセッションを開始する必要があります。
session_start() は HTTP 応答メッセージの COOKIE ヘッダーを変更する必要があるため (SESSIONID を格納)、
したがって、HTTP メッセージの前に session_start() を呼び出す必要があります。レスポンスボディが出力されます。
// セッションの作成
session_start();
$_SESSION['user']="redice";
// セッションの読み取り
session_start() ;
echo $_SESSION['user'];
セッションを削除
?> または
session_destroy( ;セキュリティに関係のないデータ。
*COOKIE はクライアント側に保存され、ユーザーが変更できるため、機密データは保存できません。
//Cookie を作成します
setcookie(name, value,expired);
setcookie() は HTTP 応答ヘッダーも変更する必要があるため、テキストを出力する前に呼び出す必要があります
setcookie( "user" , "redice", time()+3600);
?>
// Cookie を読み取ります
echo $_COOKIE["user"]?>// Cookie を削除します
< ;?php
// 設定はすぐに期限切れになり、クライアント (ブラウザ) が自動的に削除します
setcookie("user", "", time()-3600); 14 データベース操作
操作手順:
データベースに接続 -> ライブラリを選択 -> 使用する文字セットを設定
-> 操作データ(クエリ、更新、削除、挿入) -> データベースを閉じる
php
$conn=0;
$conn = mysql_connect("localhost","root","redice2009");
if (!$conn)
{ die("データベース接続を開けません。エラー: " .mysql_error( ));
}
//データベースを選択します
mysql_select_db("thymall", $conn);
//mysql データベースの出力データの文字セットを設定します
mysql_query("set names 'gbk'");
$sql="select * from thym_goods LIMIT 5";
// クエリを実行
$result=mysql_query($sql,$conn);
// クエリ結果を走査
while($result && $row=mysql_fetch_array() $result))
{
}
// データベースを閉じる
mysql_close($conn);
15 その他
適切なプログラミング スタイル: インデント、コメント
開発ツールを選択するための原則: コードキーワードのハイライト、自動補完