phpにおける括弧の役割の紹介

5293 ワード

一、どんなプログラムでも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};

{}大かっこの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
文字列がどれだけの長さを満たしているかを確認するには、strlen関数の代わりにこのカッコ(カッコ)にissetを付けることを考慮します.issetは言語構造であり、strlenは関数であるため、strlenを使用するよりもissetを使用する方が効率的です.
たとえば、文字列の長さが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、文字列変数の中の単一文字
例:
 
  
$str='000';
$str{0}='1';
echo $str; // 100
?>

これは、中括弧[]の役割と一致しており、Pythonで文字列をオブジェクトと見なす場合に似ています.したがって、次の文の機能は同じです.
 
  
$str='000';
$str[0]='1';
echo $str; // 100
?>

しかし、これらは私が説明したい内容ではありません.本当に説明したい場合は、以下を参照してください.
二、変数は括弧の異同を使う
まず、PHPのエラーメッセージ出力をすべて開きます.すなわち、/etc/php.iniは:
参照
error_reporting = E_ALL
display_errors = On
次に、次のコードでテストページを開きます.
 
  
$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」から、前の3行のecho文が正常であることを示します.
 
  
echo $test;
echo "${test}";
echo "{$test}";

2、提案しない書き方
次の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警告ではなく、エラーです.解析の問題でプログラムが正常に動作しません.
三、まとめ
前の2つの部分の内容を組み合わせると、変数の参照にカッコを使用するには、次の原則に従うべきだと信じています.
参照
1、正しい書き方は${var}の形式;
2、二重引用符とともに使用する.
3、必要に応じて表現する意味で境界を定める.
最後にswitchの行を次のように変更しました
switch ("${action}_${child}") {
Notice警告が表示されなくなりました.