<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            php中大括號作用介紹

            時間:2025-06-01 01:40:00 php語言 我要投稿
            • 相關推薦

            php中大括號作用介紹

              在學過小括號之后,可能會有許多小朋友都會有點小迷惑,括號在算式中到底有何作用?{}大括號在php中的作用是什么呢?(PHP變量放在大括號里面的含義)

              一、不管什么程序,function name(){}, for(){}, ….太多了,不說也知道做什么用了。

              二、$str{4}在字符串的變量的后面跟上{}剛大括號和中括號一樣都是把某個字符串變量當成數組處理。

              三、{$val}這時候大括號起的作用就是,告訴PHP,括起來的要當成變量處理。

              復制代碼 代碼如下:

              $arr=array(0=>123, 'name'=>'你好');

              foreach($array as $k=>$v){

              echo "select * from blog_blogs where blog_tags like '%{$arr[$k]}%' order by blog_id"; //加一個大括號只是將作為變量的標志符

              }

              echo '<br/ ><br/ ><br/ ><br/ ><br/ ><br/ ><br/ >';

              foreach($array as $k=>$v){

              echo "select * from blog_blogs where blog_tags like '%{{$arr[$k]}}%' order by blog_id"; //加兩個大括號,外層的將作為普通的字符

              }

              //用大括號來區分變量

              //echo "$arr['name']"; //用此句會報語法錯誤

              echo "{$arr['name']}"; //此句正常,大括號內的字符將作為變量來處理

              //$str{4} 在字符串的變量的后面跟上{} 大括號和中括號一樣都是把某個字符串變量當成數組處理

              $str = 'abcdefg';

              echo $str{4};

              {}大括號在php中的作用(PHP變量放在大括號里面的含義)

              如:$sql = "insert into article (`channel_id`,`title`,`detail`,`pub_time`) values ('{$cid}','{$title}','{$detail}','{$time}');";

              不加似乎也可以,加{}是什么意思呢?

              還有字段名 為什么要以``包括呢?

              ==============================================

              至少便于閱讀嘛~~~''是insert into語句要求的,因為字符串要成對出現嘛

              加{}有時候是為了防止變量名和后面的字符串連在一起嘛

              例如

              {$cid}dd

              如果cid=aa

              那么{$cid}dd=aadd

              不加的話你自己看看了$ciddd,豈不變成了ciddd變量了~~

              PHP 變量后面加上一個大括號{},里面填上數字,就是指 PHP 變量相應序號的字符。

              例如:

              $str = 'hello';

              echo $str{0}; // 輸出為 h

              echo $str{1}; // 輸出為 e

              如果要檢查某個字符串是否滿足多少長度,可以考慮用這種大括號(花括號)加 isset 的方式替代 strlen 函數,因為 isset 是語言結構,strlen 是函數,所以使用 isset 比使用 strlen 效率更高。

              比如判斷一個字符串的長度是否小于 5:

              if ( !isset ( $str{5} ) ) 就比 if ( strlen ( $str ) < 5 ) 好。

              下面幾個比較能說明原因的解釋是:

              表示{}里面的是一個變量 ,執行時按照變量來處理 在字符串中引用變量使用的特殊包括方式,這樣就可以不使用.運算符,從而減少代碼的輸入量了。

              其實輸出那塊是等同于print "hello ".$arr['fruit'];

              一、使用大括號的變量

              前一篇日志提到了,PHP Notice警告的是下面一句:

              switch (${action}.'_'.${child}) {

              初看并沒有什么問題。我也查詢了PHP手冊上關于變量的定義:這里。

              1、可變變量的情況

              可見,與大部分資料一樣,變量使用大括號的情況,在于“可變變量”(Variable variables)。其中提到:

              引用

              In order to use variable variables with arrays, you have to resolve an ambiguity problem. That is, if you write $$a[1] then the parser needs to know if you meant to use $a[1] as a variable, or if you wanted $$a as the variable and then the [1] index from that variable. The syntax for resolving this ambiguity is: ${$a[1]} for the first case and ${$a}[1] for the second.

              也就是說,為了在數組環境中也可以使用可變變量,因此,需要根據不同的情況,恰當的使用大括號{}限制變量的范圍。${$a[1]} 與${$a}[1] 是完全不同的:

              引用

              ${$a[1]} 這里$a[1]是一個變量;

              ${$a}[1] 這里$a是一個變量;

              2、定界、避免歧義

              實際上,這情況與可變變量時類似。例如,若使用“.”連接符,連接一個字符串,可能是這樣:

              echo $str.'_2010';

              用大括號來寫,可能更簡單:

              echo "${str}_2010";

              可見,如果沒有大括號,則可能把$str_2010整個作為一個變量來處理。當然,這樣的寫法,只能用在雙引號中,單引號里面是不會執行變量替換的。

              3、字符串變量中的單個字符

              例如:

              復制代碼 代碼如下:

              <?php

              $str='000';

              $str{0}='1';

              echo $str; //輸出為100

              ?>

              這不難理解,與中括號[]的作用是一致的,有點類似Python中把字符串看成對象的情況。所以,下面的語句功能相同:

              復制代碼 代碼如下:

              <?php

              $str='000';

              $str[0]='1';

              echo $str; //也是輸出100

              ?>

              不過,這些都不是我想說明的內容,真正想描述的情況,請見下面。

              二、變量使用大括號的異同

              首先,把PHP的錯誤信息輸出全部打開,即/etc/php.ini 為:

              引用

              error_reporting = E_ALL

              display_errors = On

              然后,打開測試頁面,其中代碼為:

              復制代碼 代碼如下:

              <?php

              $test='123';

              echo $test;

              echo "${test}";

              echo "{$test}";

              echo ${test}.'_';

              echo ${test};

              ?>

              你會看到如下的結果:

              引用

              123123123

              Notice: Use of undefined constant test - assumed 'test' in /var/www/html/phpcrm/testpages/variables.php on line 6

              123_

              Notice: Use of undefined constant test - assumed 'test' in /var/www/html/phpcrm/testpages/variables.php on line 7

              123

              這說明什么?

              1、可接受的寫法

              從輸出結果中“123123123”,表明前面三行的echo語句都是正常的:

              復制代碼 代碼如下:

              echo $test;

              echo "${test}";

              echo "{$test}";

              2、不建議的寫法

              后面的兩行都有Notice警告,也就是曾把test變量看成常量,只是后來才假設為變量來處理的。因此,為了避免歧義和沖突,不建議這樣寫:

              復制代碼 代碼如下:

              echo ${test}.'_';

              echo ${test};

              不過,可以有一種變通的寫法

              復制代碼 代碼如下:

              echo ${'test'}.'_';

              echo ${'test'};

              這樣寫的話就不會報錯了

              3、不正確的寫法

              網上不少資料介紹,${var}與{$var}的作用是一樣的。但是,如果你再加入一句:

              echo {$test};

              那么,你將會得到以下錯誤信息:

              引用

              Parse error: syntax error, unexpected '{' in /var/www/html/phpcrm/testpages/variables.php on line 8

              這可不是Notice警告,是錯誤,因解析問題,程序將不能正常運行。

              三、總結

              結合前面兩部分的內容,我相信,對于變量引用時使用大括號,應遵循以下原則:

              引用

              1、正確的寫法為:${var} 的形式;

              2、與雙引號一同使用;

              3、根據需表達的意思進行定界。

              所以,最后我把switch一行改為:

              switch ("${action}_${child}") {

              即不再出現Notice警告。

            【php中大括號作用介紹】相關文章:

            word中大括號怎么輸入10-08

            word中大括號怎么打06-12

            PHP的基本作用09-25

            PHP判斷表達式中括號是否匹配08-21

            PHP判斷表達式中括號是否匹配的簡單實例05-31

            php變量作用域的深入解析07-18

            PHP語言介紹10-11

            PHP變量介紹02-28

            PHP的變量介紹11-07

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看