一、不管什麼程式,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 '
';
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};
引用
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] 是完全不同的:
引用
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}";