ディレクトリ
Lession 01 PHPベース
1. PHPベース
phpinfo():出力のバージョン番号
- エコー:テキストを出力
- php.iniの:PHPの設定ファイル
2. PHPの変数
命名変数は$で始まる必要があります
厳密に大文字と小文字を区別
特殊文字と数字で始めることはできません(あなたがアンダースコアを使用することができます)
未設定:破壊変数
ISSETは():変数が存在するか否かを判定する
isset(var1, var2)
単純な変数の有効範囲:機能
内部作用域
と外部作用域
は関係ありません<?php // 变量的作用域 $test = 'hello'; function test () { echo $test; // 报错, 变量未定义 } test();
2.1静的変数:
static
あなたは、静的変数を定義することができます- 一度だけ初期化され、以前の値が保存されます
<?php // 静态变量 function total() { static $num = 2; $num *= 2; echo $num; } total(); total(); total();
2.2スーパーグローバル:
- $ GLOBALS:どこでもグローバル変数にアクセスするためのPHPスクリプトのために
- $ _SERVERは:ヘッダ、パス、スクリプトの位置に関する情報を保持しています
- $ _REQUEST:データ受信HTMLフォーム送信
- $ _POST:要求データポスト受け取ります
- $ _GET:get要求データを受信します
- $ _FILES:データファイルを受信
- $ _ENVは:サーバー側の環境変数の配列が含まれています
- $ _COOKIEは:COOKIEは、取得要求をもたらしました
- $ _SESSION:取得要求をもたらしSESSION
単一引用符と二重引用符の間3. PHPの違い
変数は、単一引用符、二重引用符変数識別を認識しません。
単一引用符は特殊文字、二重引用符をエスケープしません
<?php // 单双引号区别 $name = '张三'; $age = 18; $sex = 'man'; echo "$name"; // 张三 echo '$name'; // $name // 结论:单引号不解析变量,双引号解析变量 echo "\n"; // 换行 echo '\n'; // \n // 结论:单引号不会转义特殊字符, 双引号可以 ?>
- そして、ポイントを持つ文字列変数、
.
一緒に縫い合わせ
- そして、ポイントを持つ文字列変数、
二重引用符は一緒に変数や文字列をスプライシングされ得ます
"{$name}好好学习" -> "张三好好学习"
- 二重引用符のセットは、単一引用符外に出力変数を変数の単一のセットをマーク
"'$name'" -> '张三'
- 二重引用符のセットは、単一引用符外に出力変数を変数の単一のセットをマーク
単一引用符、二重引用符よりも効率的
4.データタイプ
1. 标量
1. 整型:1 2
2. 浮点型:1.2 1.3
3. 布尔类型:true false
4. 字符串:单双引号引起来的都是字符串
2. 混合类型(重点)
1. 数组:array
2. 对象:object
3. 特殊类型
1. 空:null
2. 资源:resource
データ型変換
- 検知データタイプ:GETTYPE()
- 型変換
- INTVALは():整数、整数に変換されます。
- FLOATVAL():ダブルを10進数に変換されます
- strvalは():文字列、文字列を変換し、
- boolval():boolean型への変換、ブール
- 一般的に使用される関数のデータ型を分析
- IS_ARRAY()
- IS_STRING()
- is_bool()
- is_float()
- is_object()
- is_int()
- IS_NUMERIC():数文字列がデジタルに変換され、その後、決定ではなくなります混在数字以外の文字
- IS_RESOURCE():リソースかどうかを決定します
- 無効です()
- is_scalar():スカラーかどうかを決定します
6.定数
定数を定義します。
define('abc', 'abc');
ポイントへの一定の配慮:
* 常量可以直接用大写字母和下划线定义,不必加`$`符号
割り当てられた唯一のスカラー
割り当てられた唯一のスカラー
*文字列定数を書き込むことができません
定数が定義されているかどうかを決定:
defined('常量名')
システム定数:
__FILE__
:あなたのファイルを検索します__LINE__
:どこの行数のコードを取得します。__DIR__
:現在のディレクトリ内のファイルを検索しますPHP_OS
:システム情報を取得します。PHP_VERSION
:バージョン情報を取得します。__FUNCTION
:現在の関数名を取得します。M_PI
:パイ学習:
__MHTHOD__
:メソッド名の現在のメンバーを取得します。__NAMESPACE__
:現在のネームスペースの名前を取得します。__TRAIT__
:現在の形質名前(多重継承)を取得します__CLASS__
:現在のクラス名を取得します。
7.演算子
そして、他の同様の言語
偽の8いくつかのケース(条件)
- 文字列と数字:
''
、0
、'0'
、0.000
- 文字列は
'0.000'
真であります
- 配列:
[]
(別のJSを持ちます)
9.プロセスの分析
他の言語と同様に基本的には同じ
展開します。
1.乱数:mt_rand(1、10)。
10.サイクル
他の言語と同様に、ループ内の変数はローカル変数ではありません
11.1関数
定義:function name() {}
関数ライブラリおよびカスタム関数への1機能
2.カスタムライブラリは機能しなくなり
3. ラインのデフォルトのパラメータが提供され得る同様のES6と、
4. デフォルトパラメータが設定されていない場合は、引数が少ない与えられています
この関数は大文字と小文字を区別しません
<?php
function Name($name = '刘程', $sex = '男') {
echo '我是:'.$name.' . 性别:'.$sex;
return true;
}
$temp = name('liucheng'); // 我是:liucheng . 性别:男
echo '<br />'.$temp; // 返回值 true
- タイトル2を参照する変数とスコープの変数を
- 型制約のライン引数(重要)
11.2ライン引数と関数の戻り値
11.2.1ライン型のパラメータの制約
エラーを変換しない場合はライン型パラメータ制約後、この関数は、対応するデータに入力データを変換します。
<?php
// 约束函数行参的类型
function test(string $name, int $num) {
echo gettype($name).'<br />';
echo gettype($num).'<br />';
}
test('liucheng', 20);
test(520, 20);
// test(520, "a"); // 报错, 'a' 不是整数
11.2.2戻り値の制約タイプ
变量括号后面加一个 `:string` , 约束其返回值为 string ,不是 string 就会报错
<?php
// 约束函数返回值
function test(string $name, int $num):string {
return $name.$num;
}
print_r(test('liucheng', 20).'<br>');
print_r(test(520, 20).'<br>');
echo test(520, "a").'<br>';
変数パラメータの11.2.3機能
あなたはパラメータが渡されることができ、ラインパラメータを設定しないでください
func_get_args()
:アレイを形成するために渡されたパラメータを取得します。func_get_arg(n)
:目標位置に対応するパラメータを取得します。
<?php
// 可变参数
function test() {
$temp = func_get_args();
echo func_get_arg(1).'<br>';
return $temp;
}
print_r(test('liucheng', 20)); // 输出:Array ( [0] => liucheng [1] => 20 )
12.共通機能
12.1数学関数
- 乱数
- ランド
- mt_rand:ランドよりも4倍も優れた性能
- 小数
- 床:切り捨て
- CEIL:切り上げ
- ラウンド:丸め丸め
- 他の
- ABS:絶対値
- パイ:パイ
- M_PI:定数、PI()関数は、同じ値を返します
- POW:指数表現
- 最大:最大
- 分:最小値
12.2文字列の組み込み関数
- ケース変換
- strtolower:大文字小文字のターン
- strtoupper:大文字小文字のターン
- lcfirst:最初の文字を小文字
- ucfirst:最初の文字を大文字
- ucwords:各単語の最初の文字を大文字
- ブランク処理
- トリム:最初のスペースを削除
- LTRIM:ヘッドスペースを削除
- RTRIM /チョップ:末尾のスペースを削除
- ポジショニングを探します
- strstr / strchr:の末尾に別の文字列内の文字列の最初の発生を検出したコンテンツ(大文字と小文字を区別)
- strrchr:コンテンツの終わりに別の文字列に文字列の最後の発生を検出
- stristr:ケースのバージョンを無視STRSTR
- strpos:文字列(大文字と小文字を区別)の最初の発生の位置を返し
- stripos:strposは、ケースのバージョンを無視します
- strrpos:文字列の出現の最後の位置を返します(大文字と小文字を区別)
- strripos:のstrrposは、ケースのバージョンを無視します
- sbustr:サブストリングの抽出
- strpbrk:リターン(任意の文字検索)への最初の時間の終わりのコンテンツ(大文字と小文字を区別)
- 比較します
- strcmpの:バイナリ比較文字列
- strcasecmp:strcmpの大文字と小文字を区別しない比較
- strnatcmp:「の使用自然順序付け二つの文字列(大文字と小文字を区別)、比較する」アルゴリズム2 10以上の自然アルゴリズムにおいて、デジタル数が少ないです。最初の数は2 10未満であるため、コンピュータ、2を注文することは、10未満です。
- strnatcasecmp:strnatcmp:ケースのバージョンを無視
オーダー
- str_shuffle:動揺シーケンシャルランダムな文字列
- strrev:逆の順序で文字列
変更
- CHR:文字にASCII値
継続するには。。。