ホームページ  >  記事  >  バックエンド開発  >  PHPの変数定義とスコープのコード例を詳しく解説

PHPの変数定義とスコープのコード例を詳しく解説

黄舟
黄舟オリジナル
2017-03-13 16:35:551428ブラウズ

1. php変数定義とスコープ

変数: メソッド内でattributeを呼び出す場合、echoを直接使用することはできず、$thisオブジェクトを使用する必要がありますクラス内

1 変数は関数内でのみ機能します。 グローバル スコープ: global $var

  $GOOBALS[‘var’]

2. 参照渡し:

, // 引用符の受け渡し、 & を通じて実現され、値を引用符で囲みます。保存アドレスに 4,

スーパーグローバル変数

(あらかじめ決められた変数): ① $ globals グローバル変数を保存 サーバー情報

③ $_GET 取得データを保存

④ $_POST 投稿データを保存 $_FILE S 送信されたファイルを保存します

⑥ $_

COOKIE

Cookieを保存します

⑦ $_SESSION セッションデータを保存します⑧ $_REQUEST リクエストデータを保存します

⑨ $_ENV 環境を保存します

2. 定数

define() 関数は定数を定義できますdefine() は定数が定義されているかどうかを決定します

特徴: (1) $

を使用せずに定数が定義されます (2) 定数はスコープを気にせず、どこでも使用できます

(3) 一度定義された定数は再度コピーすることはできません

マジック定数 (7): FILE 現在のファイルの絶対パスとファイル名を取得します

LINE ファイルの現在の行番号ファイル

3. 制御構造

1,

return

;

( 1) 関数の実行を直ちに停止し、関数の値を返すには関数内で return を使用します

(2)これを PHP スクリプトで使用して、スクリプト ファイル コード

の実行を停止します。すでにインクルードされている場合は、再度インクルードされず、関数の再定義と変数の再割り当てが回避されます。

3、include() と require( ) の違いは、 include() が繰り返し

ファイルをインクルード

する場合、警告レベルのエラーが発生することです。 require() は致命的なエラーを生成します

4. 関数

のパラメータの受け渡しは、関数内で変更された場合でも、デフォルトでは値によって行われます。パラメータの値は関数の外部の値には影響しません。参照による転送に影響を与えたい場合、参照は、この変数によってメモリ空間に保存された値

1、スカラー型 です。

         字符串

            1,字符串的定义

                  单引号:单引号会将内容原封不动的输出---执行速度快

                  双引号  (比较):双引号会解析变量---执行速度慢

           2,常用的字符串函数(重点)

                查找:

//strpos(haystack,needle);查找字符串首次出现的位置
$str3 ='you are beautiful!';
                      $a= 'a';
   $b= strpos($str3,$a);//字符串首次出现的位置
                 //strrchr() 从字符串最后一次出现的位置开始,返回子字符串


                替换:

   //trim()去掉字符串首尾空白字
                   echo trim($str4);//去除前后空格
//str_replace(查找的字符串,替换的字符串,在哪个字符串中查找);
$str5 = FILE;
   $str6= str_replace('string.php','',$str5);
//substr_replace()把字符串的一部分替换成另一个字符串
echo substr_replace($str8,'mathbook',11);//替换
//substr(string,start,length);返回字符串的子串
echo substr($str8,8);//从m开始截取

                比较:

        //strcasecmp()以不区分大小写的方式比较字符串,返回0表示字符串相等
//将字符串全部转化为小写 strtolower($str1);
//将字符串全部转化为大写 strtoupper($str2);

                拆分:

    //explode将字符串根据某个定界符分割成一个数组
                  $str_1 ='php,3g,.net,java';
                   $str_2= explode(',',$str_1);//根据某个定界符,将字符串分割成一个数组
                   var_dump($str_2);
//implode()通过一个定界符使数组元素连接成一个字符串
                  $arr =array('php','3g','.net','java');
                   echo$str_3 = implode($arr,',');//根据定界符,将数组连接起来

3,正则表达式匹配:

   preg_match()  进行正则表达式匹配
                  //php支持正则表达式,正则可以比喻成一个筛子,js可以使用它,php也可以使用
                  echopreg_match('/(HTTP:\/\/W{3}\.)(.+)/i','HTTP://WWW.sina.com',$match);
                   //如果提供了第三个参数,会将整个正则表达式匹配的所有结果放到数组中
      echo $domain = $match[2];
preg_replace(正则表达式,替换的结果,查找的字符串) 
 //将sina.com替换成360.com
    echo preg_replace('/sina\.com/','360.com','HTTP://WWW.sina.com');
//按照正则表达式匹配的结果进行替换

                 整型

                 浮点型

                 布尔型

 2,复合类型

              数组:

1, 数组的定义 array() 或 []

2,遍历数组(重点)

   (1)使用for()遍历数组,适合下标从0开始,连续的整型索引数组

             $arr =array('php','3g');
                      //count()统计数组元素的个数也就是数组的长度
                      for($i=0;$i<count($arr);$i++){
                     echo$arr[$i];
   }
(2)foreach()遍历数组
$array =array(&#39;php&#39;,&#39;.net&#39;,&#39;subject&#39;=>&#39;java&#39;);
    foreach($arrayas $key => $value){
   echo$key.&#39;:&#39;.$value;
   echo&#39;<br/>&#39;;
   }

3,数组指针

   (1)current()获得当前数组指针指向的数组元素

(2)next()  将数组的指针指向下一个

(3)prev()  将数组的指针向前移动一个

(4)reset() 重置数组指针

(5)end()   将数组指针移动到最后

4,常用的数组函数

                array_push() 入栈,讲一个或多个元素压入数组的末尾

array_pop()   出栈,将数组最后一个元素弹出

array_shift()  将数组开头的元素移出

array_unshift()  在数组开头插入一个元素

 

              对象

       3,特殊类型

       NULL

       Resource

以上がPHPの変数定義とスコープのコード例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。