PHP の長い開発期間を経て、多くのユーザーが PHP をよく知っています。ここで私の個人的な理解を述べ、皆さんと議論します。多くの PHP プログラマー、特に長期間勉強していないプログラマーは、PHP の本質を理解していないことがわかりました。当時、Perl はどのようにしてビジネスの世界で有名になったのでしょうか?強力な正規表現です。 PHP についてはどうでしょうか?もちろん、Unix で開発された言語であり、Perl の多くの機能を継承しており、C の利点も備えています。
ここでは、PHPの変数と配列の応用スキル、PHPの正規表現、PHPのテンプレートの応用について、また時間があるときにPHPとCOM、PHPとXMLの完全な組み合わせについて記事を書きたいと思います。 。
1. PHP テンプレート
2、変数と配列の応用スキルを使用するためのものです
(1) 多くの人はめったに使用しません。配列関数。 foreach、リスト、それぞれ。いくつか例を挙げれば、すぐに理解できるはずです。例:
<ol class="dp-xml"> <li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>('a' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></font></strong></span><span> 'data1', 'b' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'data2', 'c' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 'data3'); </span> </li> <li class="alt"><span>while(list($subscript, $value) = each($data)) </span></li> <li class=""><span>{ </span></li> <li class="alt"> <span>echo "$</span><span class="attribute"><font color="#ff0000">subscript</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $value :: "; </span> </li> <li class=""> <span>echo "$</span><span class="attribute"><font color="#ff0000">subscript</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $valuen</span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span></font></strong><span>"; </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>reset($data); </span></li> <li class="alt"> <span>foreach($data as $</span><span class="attribute"><font color="#ff0000">subscript</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $value) </span> </li> <li class=""><span>{ </span></li> <li class="alt"> <span>echo "$</span><span class="attribute"><font color="#ff0000">subscript</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $value :: "; </span> </li> <li class=""> <span>echo "$</span><span class="attribute"><font color="#ff0000">subscript</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $valuen</span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span></font></strong><span>"; </span> </li> <li class="alt"><span>} </span></li> </ol>
(2) 関数の変数、変数の変数、変数の「ポインタ」: 次の例を参照してください:
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>//变量的变量 </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>var</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"this is a var"</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>varname</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"var"</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>echo $$varname; </SPAN><LI class=""><SPAN>//函数的变量 </SPAN><LI class=alt><SPAN>function fun1($str) { </SPAN><LI class=""><SPAN>echo $str; </SPAN><LI class=alt><SPAN>} </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>funname</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"fun1"</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>$funname("This is a function !"); </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
変数の「ポインタ」。このポインターは二重引用符で囲まれており、実際のポインターではないことを示しています。次の例を見てください:
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>function($a) { </SPAN><LI class=alt><SPAN>$a ++; </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>c</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>function($c); </SPAN><LI class=alt><SPAN>echo $c; //$c仍为0 </SPAN><LI class=""><SPAN>function(&$a) { </SPAN><LI class=alt><SPAN>$a ++; </SPAN><LI class=""><SPAN>} </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>c</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>echo $c; //$c为1 </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
なぜ「ポインタ」と呼ばれるかというと、C言語のポインタと同じ機能を持っているからです。しかし、これは本当の指針ではなく、このように理解することしかできません。
3. 正規表現
正規表現は非常に大きなトピックであり、Perl の正規表現はその強力さでよく知られています。 PHP も弱いわけではなく、Perl の正規表現ルールを継承しており、独自のルール セットを持っています。ここでは、PHP 独自の正規表現についてのみ説明します。正規表現は最も基本的な要素です。簡単に言うと、他の要素が独自のルールに準拠しているかどうか、または同じ特性の説明があるかどうかを判断するために使用される一連のルールです。正規表現の開始記号: ^ と終了記号 $。これら 2 つの記号の間の要素が一致します。たとえば、電話番号が北京のものかどうかを確認する場合、正規表現は「^010$」になります。市外局番の最初の3桁が010であれば北京の番号なので、以下の電話番号は必要ありません。次に、正規表現マッチング関数 ereg を使用して、たとえば次のように判定します。
<ol class="dp-xml"><li class="alt"> <span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>pattern</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"^010$"</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>phone</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"01080718828"</FONT></SPAN><SPAN>; </SPAN></SPAN><LI class=""><SPAN>if(ereg($pattern, $phone)) </SPAN><LI class=alt><SPAN>echo "打往北京的号"; </SPAN><LI class=""><SPAN>else </SPAN><LI class=alt><SPAN>echo "不是打往北京的号"; </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></span></font></strong></span><span> </span> </li></ol>
これが正規表現です。北京の電話番号はすべて 8 桁なので、その番号が正しいかどうか知りたいのですが?彼が 9 桁の番号を押したらどうなるでしょうか?判断が正しいか間違っているか?これには、正規表現文字クラスターを使用する必要があります。すると、上の例の正規表現は ^010[0-9]{8}$ のように書けばよく、数値が規則に適合しているかどうかも同時に判定できます。正規表現には多くの用途があります。たとえば、投稿時の LBB や VBB フォーラムでのいわゆる VBB コード分析はすべて正規表現を使用して行われます。