PHPの筆記試験の問題と面接の質問

WBOY
リリース: 2016-06-13 12:23:39
オリジナル
7575 人が閲覧しました
<p> PHP 筆記試験問題と面接問題 <br></p> <p><span style="font-size: large;">1. 新しい変数を使用せずに 2 つの既存の変数の値を直接交換します </span></p> <p></p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><span style="font-size: large;">(1)list($a,$b)=array($b,$a);(2)a=a+b,b=a-b,a=a-b</span></pre><div class="contentsignin">ログイン後にコピー</div></div> <p><span style="font-size: large;"> 2. PHP でデジタル金額をサイズ形式に変換し、同時にそのアイデアを説明します </span></p> <p></p> <p></p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><span style="font-size: large;">function daxie($num){   $da_num = array('零','一','二','三','四','五','六','七','八','九');   $return = '';   $len_num = strlen($num);   if(!is_numeric($num) || $len_num < 0){   return '';   }   for($i=0;$i<$len_num;$i++){   $return .= $da_num[ substr($num,$i,1)];   }   return$return;  }</span></pre><div class="contentsignin">ログイン後にコピー</div></div></p></p><p><span style="font-size: large;"> 3. SQL クエリ ステートメントは次のとおりです: <br />select * from table where (ID = 10) or (ID = 32) or (ID = 22) or (ID = 76) or (ID = 13) or (ID = 44)結果が 10, 32, 22, 76 だとすると、 13 と 44 の順序が取得されました。 </span></p><p><p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><span style="font-size: large;">select * from tablewhere id in (10,32,22,76,13,44) order by charindex(id,'10,32,22,76,13,44') desc</span></pre><div class="contentsignin">ログイン後にコピー</div></div></p></p><p><p><span style="font-size: large;">4. PHP を使用して前日の時刻を出力します。形式は 2006-5 です。 -10 22:21 :21</span></p><p><table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td><table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td><p><p><span style="font-size: large;"><code>(1)</code><code>echo</code> <code>date</code><code>(</code><code>'Y-m-d H:i:s'</code><code>,time()-60*60*24);</code></span></p><p><span style="font-size: large;"><code>(2)</code><code>echo</code> <code>date</code><code>(</code><code>'Y-m-d H:i:s'</code><code>,</code><code>strtotime</code><code>(</code><code>'-1 day'</code><code>))</code></span></p></p></td></tr></tbody></table><p><span style="font-size: large;"><code> (1)</code><code>echo</code> <code>date</code><code>(</code><code>'Y-m-d H:i:s'</code) ><コード>, time()-60*60*24);</code></span></p><p><table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td><p><p><span style="font-size: large;"><code>echo</code><code>是语言结构,无返回值;</code><code>print</code><code>功能和</code><code>echo</code><code>基本相同,不同的是</code><code>print</code><code>是函数,有返回值;print_r是递归打印,用于输出数组或对象</code></span></p></p></td></tr></tbody></table><code>(2)</code><code>echo</code> <code>date</code><code>(</code><code>'Y-m-d H:i:s'</code><code>,</code><code>strtotime</code><code> (</code> <code>'-1 日'</code><code>))</code><p><span style="font-size: large;"></span></td></tr></tbody></table ></p><p>5. echo()、print()、print_r() の違い<table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td><p><p><code><span style="font-size: large;">PHP本身是一种模版引擎,我用过的是smarty,常见的还有PHPLib,FastTemplate,Savant</span></code></p></p></td></tr></tbody></table><p><span style="font-size: large;"><table border="1" cellpacing="0" cellpadding="2"> <tbody><tr> <td></span></p><p><code>echo</code><code> は戻り値のない言語構造です。</code><code>print</code> <code>function と</code> code><code>echo</code><code> は基本的に同じですが、</code><code>print</code><code> が関数である点が異なります。戻り値; print_r は再帰的印刷であり、配列 Or オブジェクトの出力に使用されます。</code><table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td><p><p><code><span style="font-size: large;">CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.CVS Server on Apache作服务端,WinCVS作客户端;<br>Subversion on Apache/DAV 做服务端,TortoiseSVN做客户端,或者Subclipse做客户端</span><p><span style="font-size: large;"></span></p>6. HTML と PHP を分離できるテンプレート<p></p><p></p></pre> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p><span style="font-size: large;"><code>其实PHP本身就有字符串翻转的函数:</code><code>strrev</code><code>(),不过这种方法都不能解决中文字符串翻转的问题,会出错的。</code></span></p> <p><code><span style="font-size: large;"><?php</span></code></p><p><span style="font-size: large;"><code>function</code> <code>reverse(</code><code>$var</code><code>)</code>{</span></p><p><span style="font-size: large;"><code>$res</code><code>=</code><code>""</code><code>;</code></span></p><p><span style="font-size: large;"><code>for</code><code>(</code><code>$i</code><code>=0,</code><code>$j</code><code>=</code><code>strlen</code><code>(</code><code>$var</code><code>);</code><code>$i</code><code><</code><code>$j</code><code>;</code><code>$i</code><code> )</code>{</span></p><p><span style="font-size: large;"><code>$res</code><code>=</code><code>$var</code><code>[</code><code>$i</code><code>].</code><code>$res</code><code>;</code></span></p><p><code><span style="font-size: large;">}</span></code></p><p><span style="font-size: large;"><code>return</code> <code>$res</code><code>;</code></span></p><p><code><span style="font-size: large;">}</span></code></p><p><span style="font-size: large;"><code>$tmpvar</code><code>=</code><code>"wofang"</code><code>;</code></span></p><p><span style="font-size: large;"><code>$res</code><code>=reverse(</code><code>$tmpvar</code><code>);</code></span></p><p><span style="font-size: large;"><code>echo</code> <code>$res</code><code>;</code></span></p><p><code><span style="font-size: large;">?></span></code></p> </td></tr></tbody></table> <table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td><code>PHP 自体はテンプレート エンジンです。私はスマートなテンプレート エンジンを使用しました。一般的なものには、PHPLib、FastTemplate、Savant が含まれます</code></td></tr></tbody></table> 7. バージョン管理にはどのようなツールが使用されますか? <table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td><code>CVS およびSVN は、強力な機能を備えた次世代の CVS として知られていますが、CVS は高い市場シェアを誇る古いブランドであり、サーバーとして Apache 上の CVS Server が使用され、クライアントとして WinCVS が使用されます。 Apache/DAV 上の Subversion がサーバーとして使用され、TortoiseSVN がクライアントとして使用されるか、クライアントとして Subclipse が使用されます </code></td></tr></tbody></table> 8. 文字列反転を実装するには? <table border="1" cellpacing="0" cellpadding="2"><tbody> <tr><td> <code>実際には PHP文字列を反転する関数 </code><code>strrev</code><code>() がありますが、このメソッドでは中国語の文字列を反転する問題を解決できず、エラーが発生します。 </code><code><?php<🎜></code><🎜><🎜><🎜><code>関数</code> <code> reverse(</code><code>$var</code><code>)</code>{<🎜><🎜><🎜><🎜><code>$res</code><code>=< /code><code>""</code><code>;</code><🎜><🎜><🎜><🎜><code>for</code><code>(</code><code >$i</code><code>=0,</code><code>$j</code><code>=</code><code>strlen</code><code>(</code> <code>$var</code><code>);</code><code>$i</code><code><</code><code>$j</code><code>;< /code><code>$i</code><code> )</code>{<🎜><🎜><🎜><🎜><code>$res</code><code>=</code> <code>$var</code><code>[</code><code>$i</code><code>].</code><code>$res</code><code>;</ code> code><🎜><🎜><🎜><code><🎜>}<🎜></code><🎜><🎜><🎜><code>return</code> <code>$res< /code ><code>;</code><🎜><🎜><🎜><code><🎜>}<🎜></code><🎜><🎜><🎜><code>$tmpvar</コード> <code>=</code><code>"wofang"</code><code>;</code><🎜><🎜><🎜><🎜><code>$res</code>< code> =reverse(</code><code>$tmpvar</code><code>);</code><🎜><🎜><🎜><🎜><code>echo</code> <code> $res </code><code>;</code><🎜><🎜><🎜><code><🎜>?></code> </td></tr> </tbody></table> <span style="font-size: large;">9. MYSQL データベースを最適化する方法</span><p></p> <table border="1" cellpacing="0" cellpadding="2"><tbody> <tr><td> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><code><span style="font-size: large;">(1).数据库设计方面,这是DBA和Architect的责任,设计结构良好的数据库,必要的时候,去正规化(英文是这个:denormalize),<br>    允许部分数据冗余,避免JOIN操作,以提高查询效率</span></code></p> <p><code><span style="font-size: large;">(2).系统架构设计方面,表散列,把海量数据散列到几个不同的表里面.快慢表,快表只留最新数据,慢表是历史存档.集群,主服务器Read & write,<br>    从服务器read only,或者N台服务器,各机器互为Master</span></code></p> <p><code><span style="font-size: large;">(3).(1)和(2)超越PHP Programmer的要求了,会更好,不会没关系.检查有没有少加索引</span></code></p> <p><code><span style="font-size: large;">(4).写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,大量的Group By和order by,没有limit等等.<br>    必要的时候,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询结果,explain每一个sql语句</span></code></p> <p><span style="font-size: large;"><code>(5).所得皆必须,只从数据库取必需的数据,比如查询某篇文章的评论数,select </code><code>count</code><code>(*) … where article_id = ? <br>    就可以了,不要先select * … where article_id = ?然后msql_num_rows.</code></span></p> <p><span style="font-size: large;"><code>    </code><code>只传送必须的SQL语句,比如修改文章的时候,如果用户只修改了标题,那就update … set title = ? where article_id = ?<br>    不要set content = ?(大文本)</code></span></p> <p><code><span style="font-size: large;">(6).必要的时候用不同的存储引擎.比如InnoDB可以减少死锁.HEAP可以提高一个数量级的查询速度</span></code></p> </td></tr></tbody></table> <p><code><span style="font-size: large;">(1)。データベース設計に関しては、これは DBA とアーキテクトの責任であり、適切に構造化されたデータベースを設計し、必要に応じて非正規化します (英語では denormalize)。 ;br> クエリ効率を向上させるために、JOIN 操作を回避するために部分データが冗長化されています</span></code></p> <p><code><table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><span style="font-size: large;"><code>echo</code> <code>'客户端IP:'</code><code>.</code><code>$_SERVER</code><code>[</code><code>'REMOTE_ADDR'</code><code>].</code><code>'<br />'</code><code>;</code></span></p> <p><span style="font-size: large;"><code>echo</code> <code>'服务器端IP:'</code><code>.</code><code>gethostbyname</code><code>(</code><code>$_SERVER</code><code>[</code><code>'SERVER_NAME'</code><code>]);</code></span></p> </td></tr></tbody></table>(2)。システム アーキテクチャ設計の観点から、テーブル ハッシュが使用されます。大量のデータを複数の異なるテーブルにハッシュします。高速テーブルには最新のデータのみが保持され、低速テーブルは、メイン サーバーの読み取りと書き込み、およびスレーブのアーカイブになります。読み取り専用サーバー、つまり N サーバーの場合、各マシンは相互に有益です。(3) (1) と (2) は PHP の要件を超えています。プログラマーの皆さん、それは問題ではありません。追加インデックス <p></p></code><span style="font-size: large;"></span><code></code></p>(4) がないかどうかを確認して、効率的な SQL ステートメントを作成してください。デカルト積を生成する完全結合など、非効率な SQL ステートメントがある。多数の Group By および order by、制限なしなど。<br> 必要に応じて、データベース ロジックを DBMS 側のストアド プロシージャにカプセル化します。クエリ結果をキャッシュし、各 SQL ステートメントを説明します。<p></p> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><span style="font-size: large;"><code>(1)</code><code>$_SERVER</code><code>[</code><code>'SCRIPT_FILENAME'</code><code>];或者</code><code>$_SERVER</code><code>[</code><code>'PHP_SELF'</code><code>]<br>(2)</code><code>$_SERVER</code><code>[</code><code>'HTTP_REFERER'</code><code>]</code></span></p> <p><span style="font-size: large;"><code>(3)</code><code>$_SERVER</code><code>[</code><code>'SCRIPT_FILENAME'</code><code>];<br>(4)</code><code>$_SERVER</code><code>[</code><code>'REMOTE_ADDR'</code><code>];<br>(5)</code><code>$_SERVER</code><code>[</code><code>'QUERY_STRING'</code><code>];<br>(6)</code><code>$_server</code><code>[</code><code>'DOCUMENT_ROOT'</code><code>];</code></span></p> </td></tr></tbody></table> <code>(5) など、すべての結果が必要です。記事のコメント数をクエリするには、 </code><code>count</code> <code>(*) … where Article_id = ? <br> を選択しないでください。 where Article_id = ? then msql_num_rows.</code><p><span style="font-size: large;"></span></p> <code> </code><code>たとえば、ユーザーが記事を変更する場合、必要な SQL ステートメントのみを送信します。 title を更新します... title = ? を設定します (article_id = ?<br> content = ?(大きなテキスト) を設定しないでください)</code><p></p> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><span style="font-size: large;"><code>(1)</code><code>echo</code> <code>8%(-2)。输出:0</code></span></p> <p><span style="font-size: large;"><code>(2)</code><code>echo</code> <code>(-8)%3 .输出:-2</code></span></p> <p><span style="font-size: large;"><code>(3)</code><code>echo</code> <code>8%(-3).输出:2</code></span></p> </td></tr></tbody></table> <code>(6) )。必要に応じて、別のストレージ エンジンを使用します。たとえば、InnoDB はデッドロックを軽減します。</code> </td></tr> tbody></tbody></table>10. PHP を使用して、クライアント IP とサーバー IP を表示するコードを記述します: <table border="1" cellpacing="0" cellpadding="2"> <tbody><tr><td> <code>echo</code> <code>'クライアント IP:'</code><code>. code><code>$_SERVER</code><code>[</code><code>'REMOTE_ADDR'</code><code>].</code><code>'<br />'<code>;</code><code>echo code> <code>'サーバー IP:'</code><code>.</code><code>gethostbyname</code><code>(</code><code>$_SERVER</code>[</code><code>'SERVER_NAME'</code><code>]); </code></code></code> </td></tr></tbody> table>11. PHP では、現在のスクリプトの名前 (パスとを除く)クエリ文字列) が事前定義変数 (1) に記録され、現在のページにリンクする URL が事前定義変数 (1) 2) に記録されます。以前に実行したスクリプトの絶対パス名 (3)、現在のページを閲覧しているユーザーの IP アドレス (4)、クエリ文字列 (URL の最初の疑問符? の後の内容): id=1&bi=2( 5 )、現在実行中のスクリプトが配置されているドキュメント ルート ディレクトリ (6)。 <table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td> <code>(1 )</code><code>$_SERVER</code><code>[</code><code>'SCRIPT_FILENAME'</code><code>] または </code><code>$_SERVER</code><code>[</code><code>'PHP_SELF'</code><code>]<br>(2)</code><code>$_SERVER</code><code>[</code><code>'HTTP_REFERER'</code><code>]</code><code>(3)</code><code>$_SERVER</code> <code>[</code><code>'SCRIPT_FILENAME'</code><code>];<br>(4)</code><code>$_SERVER</code><code>[</code><code>'REMOTE_ADDR'</code><code>];<br>(5)</code><code>$_SERVER</code><code>[</code><code>'QUERY_STRING' </code><code>];<br>(6)</code><code>$_server</code><code>[</code><code>'DOCUMENT_ROOT'</code><code> ];</code> </td></tr></tbody></table>12. 実行プログラムセグメントは__を出力します。 <table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td> <code>(1 )</code><code>エコー</code> <code>8%(-2)。出力: 0</code><code>(2)</code><code>echo</code> <code>(-8)%3。 2</code><code>(3)</code><code>echo</code> <code>8%(-3)。出力: 2コード> コード></code> </td></tr></tbody></table> <p><span style="font-size: large;">13. 配列関数 arsort の関数は ____ 、ステートメント error_reporting(2047) の関数は ____ です。 </span></p> <p></p> <p></p> <table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><code><span style="font-size: large;">arsort:对数组进行逆向排序并保持索引关系</span></code></p> <p><span style="font-size: large;"><code>error_reporting</code><code>(2047)的作用是:report All errors </code><code>and</code> <code>warnings</code></span></p> </td></tr></tbody></table> <span style="font-size: large;"><code></code></span>arsort: 配列を逆ソートし、インデックス関係を維持します<p></p> <p></p> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><span style="font-size: large;"><code>$a</code><code>=</code><code>"<script type='text/javascript'>XXXXXXXXXXXXXXX</script>"</code><code>;<br></code><code>echo</code> <code>preg_replace(</code><code>'/<script[^>]*?>.*</script>/is'</code><code>,</code><code>''</code><code>,</code><code>$a</code><code>);</code></span></p> </td></tr></tbody></table> <code>error_reporting</code><code>(2047) 関数は次のとおりです: すべてのエラーをレポートします<code>と</code> <code>warning</code><span style="font-size: large;"></span></code> </td></tr></tbody></table> <p>14. Web ページ上のすべての JS/VBS スクリプトをフィルタリングする (つまり、スクリプト タグとそのコンテンツを削除する) 正規表現を考え出します。 <span style="font-size: large;"></span></p> <p></p> <table border="1" cellpacing="0 " cellpadding="2"><tbody><tr><td> <p></p> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><span style="font-size: large;"><code>LoadModule php5_module </code><code>"c:/php/php5apache2.dll"</code><code>;</code></span></p> <p><code><span style="font-size: large;">AddType application/x-httpd-php .php</span></code></p> </td></tr></tbody></table> <span style="font-size: large;"><code>$a</code><code>=</code><code>"< ;script type ='text/javascript'>XXXXXXXXXXXXXXX</script>"</code><code>;<br></code><code>echo</code> <code>preg_replace(</code> <code> '/<script[^>]*?>.*</script>/is'</code><code>,</code><code>''</code><code>,<code>$a</code><code>);</code></code></span><p></p> </td></tr></tbody></table> <p>15 . ファイル http.conf で、PHP を Apache モジュールとしてインストールします。まず、ステートメント ____ を使用して PHP モジュール </p> <table border="1" cellspacing="0" cellpadding="2"><tbody><tr><td> <p></p> <p><code><span style="font-size: large;">serialize() /unserialize()</span></code></p> </td></tr></tbody></table> を動的にロードしてから、ステートメント ____ を使用する必要があります。 Apache にすべてのファイルをロードさせるには、拡張子 php を持つファイルは PHP スクリプトとして処理されます。 <table border="1" cellpacing="0" cellpadding="2"><tbody><tr><td> <code>LoadModule php5_module </code><code>"c:/php/php5apache2.dll"</code><code>;</code><code>AddType application/ x-httpd-php .php</code> </td></tr></tbody></table>16. クラス属性をシリアル化してセッションに保存できます。後でクラス全体を復元できるようにするため、使用される関数は <table border="1" cellpacing="0" cellpadding="2"> <tbody> <tr><td><code>serialize() /unserialize()</code></td></tr> </tbody> テーブル><span style="font-size: large;"><span style="font-family: 微软雅黑, 宋体, Arial;">17.</span>MySQL データベースを最適化するには?</span><p><span style="font-size: large;">(1) 構成の最適化 (サーバー構成) (2) テーブル作成の最適化 (テーブル、フィールド設定) (3)クエリの最適化 (SQL ステートメント) 回答: 1. 最も適切なフィールド属性を選択し、定義されたフィールドの長さをできる限り短くし、フィールドを NOT NULL (「都道府県、性別」など) に設定するようにします。できれば に設定してください。 ENUM 2. 接続 (JOIN) を使用します。 サブクエリを置き換えるには: 3. 共用体 (UNION) を使用して、手動で作成した一時テーブルを置き換えます。 4. トランザクション処理: 5. テーブルをロックし、トランザクション処理を最適化します。 6. 外部キーを使用し、ロックテーブル 7. インデックスの作成: 8. クエリステートメントの最適化 </span></p> <p><span style="font-size: large;"> 18. データベースのトランザクションとは何ですか? </span></p> <p><span style="font-size: large;">トランザクションとは順序付けられた一連のデータベースが 1 つのユニットとして動作します。グループ内のすべての操作が成功した場合、トランザクションは成功したとみなされます。1 つの操作だけが失敗した場合でも、トランザクションは成功とは言えません。すべての操作が完了すると、トランザクションはコミットされ、その変更は他のすべてのデータベース プロセスに適用されます。操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作の効果はキャンセルされます。 </span></p> <p><span style="color: #121c46; font-family: Verdana, 宋体; font-size: large;">19. SESSION の生存時間を変更する方法 </span></p> <p><span style="color: #121c46; font-family: Verdana, 宋体; font-size: large;">方法 1: php.ini の session.gc_maxlifetime を 9999 に設定し、Apache を再起動します</span></p> <p><span style="color: #121c46; font-family: Verdana, 宋体; font-size: large;">方法 2: $savePath = "./session_save_dir/"; $lifeTime = 時間 * 秒; </span></p> <p><span style="color: #121c46; font-family: Verdana, 宋体; font-size: large;"> session_save_path($savePath); </span></p> <p><span style="color: #121c46; font-family: Verdana, 宋体; font-size: large;"> session_set_cookie_params($lifeTime); </span></p> <p><span style="color: #121c46; font-family: Verdana, 宋体; font-size: large;">メソッド 3: setcookie() と session_set_cookie_params($lifeTime); </span></p> <p><span style="font-size: large;">20.<span style="color: #121c46; font-family: Verdana, 宋体;">PHP Development Resource Network のホームページなどの Web ページ アドレスがあります: http://www.phpres.com/index.html。コンテンツを取得するには?</span></span></p>方法 1 (PHP5 以降の場合): <span style="font-size: large;"></span><p>$readcontents = fopen("http://www.phpres.com /index.html" , "rb"); $contents = stream_get_contents($readcontents); fclose($readcontents); echo $contents; <span style="font-size: large;"></span></p> <p>方法 2: echo file_get_contents("http ://www.phpres.com/index.html"); <span style="font-size: large;"></span></p> <p>21. asp、php、jsp の長所と短所について話す<span style="font-size: large;"></span></p> ASP の正式名称は Active Server Pages で、動的で対話型の高性能 WEB サービス アプリケーションを生成および実行するために使用できる WEB サーバー側開発環境です。 ASP は、独自の開発言語としてスクリプト言語 VB Script (Java スクリプト) を使用します。 <span style="font-size: large;">PHP は、クロスプラットフォームのサーバー側埋め込みスクリプト言語であり、C、Java、Perl 言語から多くの構文を借用し、Web 開発者が動的に生成されるページを迅速に作成できるようにするために、PHP 独自の機能を組み合わせています。データベース。もう1つのポイントは、PHPは完全に無料でお金は必要なく、制限なくソースコードを入手でき、必要な機能を追加することもできます。 <br>JSP は、Sun 社が開発した新世代の Web サイト開発言語で、現在の ASP と PHP の共通の問題を完全に解決します。JSP は、Serverlet と JavaBean のサポートにより強力になります。 <br></span><p><span style="font-size: large;">これら 3 つはすべて、HTML コードに特定のプログラム コードを混合し、言語エンジンにプログラム コードを解釈して実行させる機能を提供します。ただし、JSP コードはサーブレットにコンパイルされ、Java 仮想マシンによって解釈および実行されます。このコンパイル操作は、JSP ページの最初のリクエストでのみ発生します。 ASP、PHP、および JSP 環境では、HTML コードは主に情報の表示スタイルを記述し、プログラム コードは処理ロジックを記述するために使用されます。通常の HTML ページは Web サーバーのみに依存しますが、ASP、PHP、および JSP ページでは、プログラム コードを分析して実行するために追加の言語エンジンが必要です。プログラムコードの実行結果はHTMLコードに再埋め込まれ、ブラウザにまとめて送信されます。 ASP、PHP、および JSP はすべて Web サーバー指向のテクノロジであり、クライアント ブラウザには追加のソフトウェア サポートは必要ありません。 </span></p> <p><span style="font-size: large;">22. PHP における値渡しと参照渡しの違いを説明してください。いつ値渡しするのか、いつ参照渡しするのか? </span></p> <p><span style="font-size: large;">値渡し: 関数のスコープ内での値の変更は関数 </span></p> <p> 参照渡し: 関数のスコープ内での値への変更は、関数の外側の変更も反映されます <span style="font-size: large;"></span></p> <p> 利点と欠点: 値で渡す場合, PHP は値をコピーする必要があります。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。 <span style="font-size: large;"></span></p> <p>参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。 <span style="font-size: large;"></span></p> <p>23. JS のリダイレクト機能とは? <span style="font-size: large;"></span></p> <p>window.location.href, < script type= "text/javascript" src="js/js_function.js"></script><span style="font-size: large;"></span></p> <p>24. GD ライブラリは何に使用されますか? <span style="font-size: large;"></span></p> <p>gd ライブラリは、画像を処理するための一連の API を提供します。GD ライブラリを使用して画像を処理したり、画像を生成したりできます。 Web サイトでは、GD ライブラリは通常、サムネイルの生成や画像への透かしの追加、または Web サイト データに関するレポートの生成に使用されます。 <span style="font-size: large;"></span></p> <p>====================================== == =============================================== == =========<span style="font-size: large;"></span></p> <p></p> <ol data-front-font-size="18px"> <li><span style="font-size: large;">PHP<span style="font-family: 'Times New Roman';"></span> のバージョンはどれですか? <span style="font-family: 宋体;"></span></span></li> <li>PHP <span style="font-size: large;">タグ <span style="font-family: 宋体;"> とは何ですか? </span></span> </li> <li><span style="font-size: large;"><span style="font-family: 'Times New Roman';">?> </span><span style="font-family: 宋体;"> タグが含まれています。その後に改行が来ないように注意してください。 </span>あなたの理解を教えてください。 <span style="font-family: 'Times New Roman';"></span><span style="font-family: 宋体;"></span>クラスを自動的にロードする方法は何ですか? </span></li> <li><span style="font-size: large;">一重引用符と二重引用符の類似点と相違点は何ですか? </span></li> <li><span style="font-size: large;">define() と Const ?</span></li> <li> <span style="font-size: large;"></span>Web </li> <li> サーバーを構成するには複数の方法があります。 <span style="font-size: large;"><span style="font-family: 'Times New Roman';">PHP </span><span style="font-family: 宋体;"> サービスを提供します。 </span>どれを知っていますか? <span style="font-family: 'Times New Roman';"></span><span style="font-family: 宋体;"></span></span>HTML </li> <li>入力と出力<span style="font-size: large;"> を浄化するにはどうすればよいでしょうか? <span style="font-family: 'Times New Roman';"></span><span style="font-family: 宋体;"></span>PHP の UTF-8 について何を知っていますか? </span> </li> <li><span style="font-size: large;">PHP は日付と時刻をどのように処理しますか? </span></li> <li> <span style="font-size: large;"></span>=================================== = ================================================ = ============</li> </ol> <p><span style="font-family: 'Times New Roman'; font-size: large;">1. 配列内の各要素間の加算の反復演算を実装する関数を作成します。 注: すべての配列要素は自然数。例: $data=array(1.2.3); プログラムでは、配列内の各配列要素のさまざまな加算 (要素自体の加算を含む) を出力する必要があります。 1 1=2,1 2=3,1 3=4 , 2 2=4,2 3=5,3 3=6</span></p> <p><span style="font-family: 'Times New Roman'; font-size: large;"></span></p> <p></p> <p><span style="font-size: large;"><img src="/img/2015/08/15/09264774.png" alt="" data-media-type="image" data-attr-org-src-id="00B9E46CAEF4495C9497A7235FBED85A" data-attr-org-img-file="/img/2015/08/15/09264774.png"></span></p> <p><span style="font-size: large;"> 2. 子供が 1 ドル未満のキャンディーを購入し、その 1 ドルを販売員に渡しました。販売員は、子供にできるだけ少ない枚数の小銭を渡したいと考えています。額面 25 セント、10 セント、5 セント、1 セントのコインが無制限に提供され、販売員が子供に最小限のコインを渡すアルゴリズムを作成するとします。 </span></p> <p><span style="font-size: large;"><img src="/img/2015/08/15/09264775.png" alt="" data-media-type="image" data-attr-org-src-id="E81152CBAE3F43AD918BE273E78D0601" data-attr-org-img-file="/img/2015/08/15/09264775.png"></span></p> <p><span style="font-size: large;"><img src="/img/2015/08/15/09264776.png" alt="" data-media-type="image" data-attr-org-src-id="ED0DEC9422A74C3088A703C9539CF61B" data-attr-org-img-file="/img/2015/08/15/09264776.png"></span></p> <p><span style="font-size: large;"> 3. 新入社員は 10 名です。アプリケーションのパフォーマンスに応じて 1 から 10 までのランクを付け、連続する 10 個の 4 桁の自然数をジョブ番号として使用します。各人のジョブ番号はパフォーマンス ランキングで割り切れます。そのジョブ番号は何ですか? </span></p> <p><span style="font-size: large;"><img src="/img/2015/08/15/09264777.jpg" alt="" data-media-type="image" data-attr-org-src-id="9E6991B930FA492E81BD977F316226FB" data-attr-org-img-file="/img/2015/08/15/09264777.jpg"></span></p> <p><span style="font-size: large;">======================= = ================================================ = ========================</span></p> <p><span style="color: #ff0000; font-size: large;">1. 変数はどのように定義されますか?変数が定義されているかどうかを確認するにはどうすればよいですか?変数を削除するにはどうすればよいですか?変数が空かどうかを判定する関数? </span></p> <p><span style="font-family: Simsun; font-size: large;">isset() unset() empty()</span></p> <p><span style="color: #ff0000; font-size: large;"> 2. 可変変数とは何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;"> 変数の変数名を動的に設定して使用できます。 $a = 'hello' , $$a = 'world', ${$a}=hello world</span></p> <p><span style="color: #ff0000; font-size: large;">3. 変数の割り当て方法は何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">1) 直接代入 2) 変数間の代入 3) 参照代入 </span></p> <p><span style="color: #ff0000; font-size: large;">4. 参照とコピーの違いは何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">コピーとは、元の変数の内容をコピーすることです。コピーされた変数と元の変数は独自のメモリを使用し、相互に干渉しません。 参照は変数のエイリアスに相当し、実際には同じ変数の内容に異なる名前でアクセスすることを意味します。 1 つの変数の値を変更すると、もう一方の変数の値も変更されます。 </span></p> <p><span style="color: #ff0000; font-size: large;">5. php の変数の基本的なデータ型は何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">php は 8 つのプリミティブ データ型をサポートします。 含まれるもの: 4 つのスカラー型 (Boolean、integer、float/double、string) 2 つの複合型 (配列、オブジェクト) 2 つの特殊な型 (リソース、NULL) </span> </p> <p><span style="color: #ff0000; font-size: large;"> 6. 他の型が次の場合。ブール型に変換された場合、どれが false とみなされますか? </span></p> <p><span style="font-size: large;"> <span style="font-family: Simsun;">ブール値 false、整数値 0、浮動小数点値 0.0、空の文字列、文字列 '0'、空の配列、特殊なデータ型 NULL、固定変数の設定なし。 </span></span></p> <p><span style="font-family: Simsun; font-size: large;">empty() 関数はどのような状況で true を返しますか? </span></p> <p><span style="font-family: Simsun; font-size: large;">ブール値 false、整数値 0、浮動小数点値 0.0、空の文字列、文字列 '0'、array() 空の配列、特殊なデータ型 NULL、なし プロパティ、変数のオブジェクト値が割り当てられていない場合。 </span></p> <p><span style="font-size: large;"><span style="color: #ff0000;">7. 変数 $a が定義されているが、初期値が割り当てられていない場合 </span><span style="font-family: Simsun;"> では $a==0? $a==false? $a==''? $a==NULL? $a===NULL? </span></span></p> <p><span style="font-family: Simsun; font-size: large;"> 答え: echo=>何もない、var_dump=>NULL empty($b)==true? ——————————— echo=>1 , var_dump=>bool(true) このときの $a の出力は何でしょうか? ———————— echo=>Nothing、var_dump=>NULL $a の出力は何ですか? ————————— echo=>1 , var_dump=>int(1)</span></p> <p><span style="color: #ff0000; font-size: large;">8. 文字列を整数に変換する方法はいくつありますか?ありますか?それを達成するにはどうすればよいでしょうか? </span></p> <p><span style="font-family: Simsun; font-size: large;"> 強制型変換: (整数) 文字列変数名; 直接変換: settype (文字列変数, 整数); </span></p> <p><span style="color: #ff0000; font-size: large;">9スカラーデータと配列の最大の違いは何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">スカラーは 1 つのデータのみを格納できますが、配列は複数のデータを格納できます。 </span></p> <p><span style="color: #ff0000; font-size: large;">10. 定数はどのように定義されていますか? 定数が定義されているかどうかを確認するにはどうすればよいですか?定数の値にはどのようなデータ型を使用できますか? </span></p> <p><span style="font-family: Simsun; font-size: large;">define()//定数を定義、define()//定数の値がスカラー型データのみであるかどうかを確認します。 </span></p> <p><span style="color: #ff0000; font-size: large;">11. 定数はシステム組み込み定数とカスタム定数に分かれます。最も一般的なシステム組み込み定数の名前を教えてください。 </span></p> <p><span style="font-family: Simsun; font-size: large;">__FILE__ 、 __LINE__ 、 PHP_OS 、 PHP_VERSION</span></p> <p><span style="color: #ff0000; font-size: large;">12. 2 つの同一の定数が定義されている場合、前者と後者のどちらが機能しますか? </span></p> <p><span style="font-family: Simsun; font-size: large;">定数は一度定義すると再定義したり未定義にしたりできないため、前者が機能します。 </span></p> <p><span style="color: #ff0000; font-size: large;">13. 定数と変数の違いは何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">1) 定数の前に $ 記号はありません。2) 定数は、代入ステートメントではなく、define() を通じてのみ定義できます。3) 定数は、どこでも定義およびアクセスできます。 4) 定数は一度定義すると再定義したり未定義にすることはできませんが、変数は代入によって再定義されます。5) 定数の値はスカラー データのみであり、データベースには 8 種類あります。プリミティブデータ型。 </span></p> <p><span style="color: #ff0000; font-size: large;">14. PHP で一般的に使用されるいくつかの事前定義されたグローバル配列変数は何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">9 つの事前定義された組み込み配列変数があります: $_POST、$_GET、$_REQUEST、$_SESSION、$_COOKIE、$_FILES、$_SERVER、$_ENV、$GLOBALS</span></p> <p><span style="color: #ff0000; font-size: large;">15. 実際の開発では、定数はどこでよく使われますか? </span></p> <p><span style="font-size: large;"><span style="color: #ff0000; font-family: Simsun;"> </span><span style="font-family: Simsun;">1) ユーザー名、パスワード、データベース名、データベースのホスト名など、データベースに接続するための情報を定数として定義しますサーバー; 2) サイトを定義します。 Web の絶対パス、smarty のインストール パス、モデル、ビュー、またはコントローラーのフォルダー パスなど、一部のパスは定数として定義されます。 3) Web サイトの公開情報。名前、ウェブサイトのキーワード、その他の情報。 </span></span></p> <p><span style="color: #ff0000; font-size: large;">16. 関数の利点は何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;">プログラムの保守性の向上 ソフトウェアの信頼性の向上 プログラムの再利用性の向上 プログラムの開発効率の向上</span></p> <p><span style="color: #ff0000; font-size: large;">17 . 関数を定義するにはどうすればよいですか?関数名は大文字と小文字を区別しますか? </span></p> <p><span style="font-family: Simsun; font-size: large;">1) function キーワードを使用します。2) 関数の命名規則は変数と同じで、数字ではなく文字またはアンダースコアで始まります。3) 関数名は大文字と小文字が区別されません。 ; 4 ) 関数名には、宣言された関数名またはシステムによって構築された関数名は使用できません。 </span></p> <p><span style="color: #ff0000; font-size: large;">18. 変数または変数スコープの可視性とは何ですか? </span></p> <p><span style="font-family: Simsun; font-size: large;"> は、プログラム内の変数のスコープです。変数の可視性に従って、変数はローカル変数とグローバル変数に分類されます。 </span></p> <p><span style="color: #ff0000; font-size: large;">19. ローカル変数とグローバル変数とは何ですか?グローバル変数は関数内で直接呼び出すことができますか? </span></p> <p><span style="font-family: Simsun; font-size: large;">ローカル変数は関数内で定義された変数であり、そのスコープはその変数が配置されている関数です。関数の外にローカル変数と同じ名前の変数がある場合、プログラムはそれらをまったく異なる 2 つの変数であると認識します。関数を終了すると、ローカル変数も同時にクリアされます。 グローバル変数は、すべての関数の外部で定義された変数です。そのスコープは PHP ファイル全体ですが、ユーザー定義関数の内部では使用できません。 ユーザー定義関数内でグローバル変数を使用する必要がある場合は、global キーワード宣言を使用する必要があります。 つまり、関数内の変数の前に golbal を追加すると、関数内でグローバル変数にアクセスでき、このグローバル変数を使用して操作を実行できるだけでなく、グローバル変数を再割り当てすることもできます。 グローバル変数は、$GLOBALS['var'] を使用して呼び出すこともできます。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">20. グローバルキーワードの使い方は?事前定義されたグローバル変数配列 $GLOBALS を使用するにはどうすればよいですか? </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">Global はグローバル変数の定義に使用されますが、このグローバル変数は Web サイト全体ではなく、include または require 内のすべてのファイルを含む現在のページに適用されます。 <br></span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">$GLOBALS 配列では、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。グローバルとは、ファイル内で global $db として宣言している限り、宣言の下でこの $db を参照できることを意味します。 <br></span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">21. 静的変数とは何ですか? </span></p> <p><span style="font-size: large;">関数内で定義された変数が、その前にキーワード static を付けて宣言されている場合、その変数は静的変数です。 通常、関数呼び出しが終了すると、関数内の変数に格納されたデータがクリアされ、占有されていたメモリ空間が解放されます。静的変数を使用する場合、関数が初めて呼び出されたときに変数は初期化され、関数が再度呼び出されたときに変数は初期化されませんが、保存することができます。関数が最後に実行された後の値。静的変数は関数のすべての呼び出し間で共有されると言えます。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">22. PHP で関数にパラメータを渡すにはどのような方法がありますか?両者の違いは何ですか? </span></p> <p><span style="font-size: large;">値渡しとアドレス渡し (または参照渡し) (1) 値渡し: 渡される変数は関数に渡される変数とは別の空間に格納されます。 。 真ん中。したがって、関数本体内の変数値を変更しても、元の変数値には影響しません。 (2) アドレスで渡す: & 記号を使用して、パラメータがアドレスで渡されることを示します。メインプログラム内の指定値や対象変数を関数に渡すのではなく、値や変数のメモリ格納ブロックアドレスを関数にインポートするため、関数本体内の変数とメインプログラム内の変数は同じになります。記憶は同じです。関数本体に加えられた変更は、関数本体の外側の変数の値に直接影響します。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">23. 再帰関数とは何ですか?再帰呼び出しを行うにはどうすればよいですか? </span></p> <p><span style="font-size: large;">再帰関数は実際にはそれ自体を呼び出す関数ですが、次の 2 つの条件を満たす必要があります。1) それ自体を呼び出すたびに、最終結果に近づく必要があります。 ) 特定の再帰終了条件が無限ループを引き起こさないようにする必要があります。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">24. 関数が存在するかどうかを確認します。 </span></p> <p><span style="font-size: large;"> function_exists( string $function_name ) 存在する場合は true を返し、存在しない場合は false を返します。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">25. func()[email protected]() の違いは何ですか? </span></p> <p><span style="font-size: large;">2 番目の関数呼び出しは失敗してもエラーを報告しませんが、最初の関数呼び出しはエラーを報告します</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">26.および require() 関数の使用法と違いは何ですか? include_once() と require_once() についてはどうですか? </span></p> <p><span style="font-size: large;"> include と require の後のエラー レベルは異なります。 include_once() と require_once() は、ロードする前にインポートされているかどうかを判断する必要があります。 🎜> 27. 前置詞と後置詞の違いを教えてください。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">プレフィックスは、まず変数を 1 増やしてから、その値を元の変数に代入します。ポストフィックスは、最初に変数の現在の値を返します。そして、変数の現在の値を 1 ずつ増やします。</span></p> <p><span style="font-size: large;">28. 文字列演算子 "." と算術演算子 " " の違いは何ですか? </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"> 「a」と「b」の間に . が使用されている場合は、ハイフンとみなされます。 2 つに違いがある場合、php はそれを操作であるとみなします。 1) 数値の両側の文字列が数字で構成されている場合、文字列は自動的に整数に変換されます。 2) 数値の両側の文字列が純粋な文字である場合、0 が出力されます。数値の両側の文字列が数値で構成されている場合、文字列の先頭の数値がインターセプトされて演算されます。 </span></p> <p><span style="font-size: large;">29. 三項演算子(または三項演算子)とは何ですか? </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">もう一方の結果に基づいて 2 つの式のうち 1 つを選択します。 例: ($a==true) ? '良い':'悪い';</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">30. 制御フローステートメントとは何ですか? </span></p> <p><span style="font-size: large;">1: 3 つのプログラム構造 シーケンシャル構造、分岐構造、ループ構造 2: 分岐: if/esle/esleif/ switch/case/default 3: switch 注意が必要: case文内の定数には、整数、文字列定数、または定数式を使用できますが、変数にすることはできません。 同じ switch 句内で、case の値を同じにすることはできません。そうでない場合は、case の最初に出現した値のみを取得できます。 4: while do...while do...while のループの後にはセミコロンが必要です。 while と do の違い...while 5: Break と continue の違い。 Break はループを終了できます。 continue は、break ほど強力ではありません。このループを終了して次のループに入ることができるだけです。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">31. 配列の概念とは何ですか?インデックスに基づく 2 種類の配列とは何ですか?また、それらを区別する方法は何ですか?配列に値を代入する 2 つの方法は何ですか? </span></p> <p><span style="font-size: large;">配列とは、一連の値を格納できる変数 (複合変数) です。インデックス配列 (インデックス値は 0 から始まる数値) と連想配列 (文字列をインデックス値として使用)配列に値を割り当てる 2 つの方法は何ですか? 配列を宣言するには主に 2 つの方法があります。 1. array() 関数を使用して配列を宣言します。key=>value を使用してインデックスと値をそれぞれ定義することも、配列のインデックス添え字を定義せずに配列の要素値のみを指定することもできます。 2. array() 関数を呼び出さずに、配列要素に値を直接代入します。例: $arr[0] = 1; $arr[1] = 2; 特記事項: 配列の添え字が整数と同等の文字列値である場合 (ただし、0 で始めることはできません)、整数。 例: $array[3] と $array['3'] は同じ要素を参照しますが、$array['03'] は別の要素を参照します。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">32. 配列を走査するには? </span></p> <p><span style="font-size: large;">①for ループ ②foreach ループは次のように使用されます: foreach($arr as $key=>$value){} ③list each と while を組み合わせてループ </span></p> <p> <span style="color: #ff0000; font-family: Simsun; font-size: large;">33. 配列を指定するとき、ポインタはどのように指すのでしょうか? list()/each()/while() が配列をループするとき、ポインタはどのように指すのでしょうか? </span></p> <p><span style="font-size: large;">foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。 foreach は配列自体ではなく、指定された配列のコピーを操作するためです。 配列を each() した後、配列ポインタは配列内の次のユニットに留まるか、配列の終わりに達すると最後のユニットに留まります。 each() を使用して配列を再度走査する場合は、reset() を使用する必要があります。reset() は、配列の内部ポインタを最初のユニットに巻き戻し、最初の配列ユニットの値を返します。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">34. 配列の長さを計算する (または配列内のすべての要素の数を数える) 方法は?文字列の長さを取得するにはどうすればよいですか? </span></p> <p><span style="font-size: large;">count() -- 配列内の要素の数をカウントします。 count (配列名) または count (配列名, 1) を使用できます。2 番目のパラメーターがあり、それが数値 1 である場合、配列要素の数を再帰的にカウントすることを意味します。 2 番目のパラメーターが数値 0 の場合、パラメーターが 1 つだけある count() 関数と同等です。 sizeof() -- count() のエイリアス 文字列: strlen()、mb_strlen();</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">35. 配列に関連する一般的な関数は何ですか? </span></p> <p><span style="font-size: large;"> 1) count -- (sizeof alias) - 配列内のセルの数またはオブジェクト内の属性の数をカウントします。 例: int count (mixed $var [, int $mode]) $ var は通常、配列 Type であり、その他の型には単位が 1 つだけあります。 $mode のデフォルト値は 0 です。 1 は配列の再帰的なカウントをオンにします。 2) in_array (mixed $needle, array $haystack [, bool $strict]) — 配列に特定の値が存在するかどうかを確認します。 針が文字列の場合、比較では大文字と小文字が区別されます。 3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針のタイプが干し草の山のものと同じかどうかもチェックします。 3) array_merge(array $array1 [, array $array2 [, array $... ]] ) は 1 つ以上の配列のセルをマージし、1 つの配列の値が前の配列に追加されます。結果の配列を返します。 特記事項: 入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。 配列が 1 つだけ指定され、その配列が数値的にインデックス付けされている場合、キー名は継続的に再インデックス付けされます。 4) 配列と文字列間の変換 (1)explode ( string $separator , string $string [, int $limit ] ) 区切り文字を使用して文字列を区切ります。 (2)implode ( string $glue , array $arr ) は、コネクタを使用して配列内の各ユニットを文字列に接続します。 join は implode のエイリアスです。 5) sort(array &$array [, int $sort_flags]) — この関数が終了すると、配列のセルが最小値から最大値まで並べ替えられます。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">36. 配列結合関数 array_merge() と配列加算演算 $arr $arr2 の違いは何ですか? </span></p> <p><span style="font-size: large;">array_merge()->array_merge() を使用します。配列のキー名が同じ場合、後続の値が前の値を上書きします。 ; 数値インデックス配列 merge の場合、上書きされませんが、後者は前者に追加されます。 " "->array_merge() とは異なる配列の加算演算を使用します。加算演算が連想配列であっても数値インデックス配列であっても、同じキー名の値のみが破棄されます。キー名が最初に出現する要素は保持され、同じキー名を持つ後続の要素は追加されません。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">37. 文字列を定義するときの一重引用符と二重引用符の違いは何ですか? </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">” ” 二重引用符で囲まれたフィールドはコンパイラによって解釈され、HTML コードとして出力されます。 <br>‘ ‘ 一重引用符内の単語は解釈されず、直接出力されます。 <br></span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">38. echo()、print()、print_r() の違いは何ですか? </span></p> <p><span style="font-size: large;">(1) echo は構文です。1 つ以上の文字列を出力します。戻り値はありません。(2) print は関数です。配列とオブジェクトを出力できません。文字列を出力します。print には return があります。 value ; (3)print_rは配列を出力できる関数です。 print_r は興味深い関数です。文字列、int、float、配列、オブジェクトなどを出力できます。配列を出力する場合、出力が成功すると print_r は true を返し、print_r に print_r($ を渡すことができます)。 str,true) なので、print_r print_r で処理した値を出力せずに返します。なお、echoとprintはprintより効率が良いため、基本的にはechoを使用します。 </span></p> <p><span style="font-size: large;">====================================== == =============================================== == =========</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">39. 機能分類による文字列処理関数とは何ですか?これらの機能は何をするのでしょうか? </span></p> <p><span style="font-size: large;">A. 文字列出力関数 (1)ech​​o $a,$b,$c...; は言語構造であり、実際の関数ではありません。 (2)print($a) この関数は文字列を出力します。成功した場合は 1、失敗した場合は 0 を返します (3)print_r($a) (4)var_dump($a); 型、長さ、値を出力できます B. 文字列の先頭と末尾のスペースを削除する関数:rim ltrim rtrim (エイリアス: Chop ) 2 番目のパラメータを使用すると、指定した文字を削除することもできます。 C. 文字列のエスケープ関数:addslashes() D. 文字列長の取得関数: strlen() E. 文字列長のインターセプト関数: substr() F. 文字列の取得関数: strstr()、strpos() G. 文字列の置換関数: str_replace( )</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">40. 次の質問に正しく答えてください。 </span></p> <p><span style="font-size: large;"> 1).$arr = array('james', 'tom', 'symfony'); $arr 配列の値を ',' で分割し、出力用の文字列にマージしてください。 echo implode(‘,’,$arr); 2).$str = ‘jack,james,tom,symfony’; $str を ‘,’ で分割し、分割した値を $arr 配列に入れてください。 $arr =explode(',',$str); 3).$arr = array(3,7,2,1,'d','abc'); $arr を大きいものから小さいものまでソートしてください。主要な値は変更されていませんか? arsort($arr); print_r($arr); 4).$mail = “<span class="__cf_email__" data-cfemail="9dfafcf2fbf8f4ddacabaeb3fef2f0">[email protected]</span>”; を確認するには、このメールのドメインを削除してください。あなたはメソッドをいくつ書き留めることができますか? echo strstr($mail,'163'); echo substr($mail,7); $arr =explode("@",$mail); 文字列がある場合は、文字列は「123、234、345」です。この文字列の最後のカンマを切り取るにはどうすればよいですか? 6) 乱数を取得する関数は何ですか? mt_rand() と rand() ではどちらの実行速度が速いですか? </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">41. ページの文字化けを解決するには? </span></p> <p><span style="font-size: large;">1. まず、現在のファイルに文字化けがあるかどうかを検討します。 。 meta タグに charset が記述されているかどうかを確認します。PHP ページの場合は、header() 関数で charset が指定されているかどうかも確認できます。 例: <meta http-equiv="Content-Type" content=" text/html ; charset=utf-8" /> header("content-type:text/html;charset=utf-8"); 2. 文字セット (つまり、charset) が設定されている場合は、保存されている現在のファイルのエンコード形式 ページに設定されている文字セットと一致しているかどうか、この 2 つは統一する必要があります。 3. データベースからデータを抽出する必要がある場合は、データベースにクエリを実行するときの文字セットが一致しているかどうかを判断します。現在のページに設定されている文字セット、たとえば :mysql_query("set names utf8") のように、2 つを統合する必要があります。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">42. 正規表現とは何ですか? PHP の正規表現に関連してよく使用される関数は何ですか?電子メール、中国の携帯電話番号、固定電話番号の正規表現を書いてください。 </span></p> <p><span style="font-size: large;">正規表現は、文字の配置パターンを記述するために使用される文法規則です。正規表現はパターン式とも呼ばれます。 Web サイト開発では、フォーム送信情報の前にクライアント側での検証に正規表現が最も一般的に使用されます。 たとえば、ユーザー名が正しく入力されているか、パスワードの入力が要件を満たしているか、電子メールや携帯電話番号などの情報の入力が合法であるかどうかを検証します。 PHP では、正規表現は主に文字列の分割、一致、検索、置換の操作に使用されます。 preg シリーズの関数で対応できます。具体的な文字列は次のとおりです。 string preg_quote ( string str [, string delimiter] ) 正規表現の特殊文字は次のとおりです。 。 preg_replace -- 正規表現検索を実行し、混合 preg_replace (混合パターン、混合置換、混合主語 [, int limit] ) を置換します。 preg_replace_callback -- コールバック関数を使用して正規表現検索を実行し、混合 preg_replace_callback (混合パターン、コールバック コールバック、混合主語) を置換します。 [, int limit] ) preg_split - 正規表現を使用して文字列配列を分割します preg_split ( string pattern, string subject [, int limit [, int flags]] ) </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">43 。特定の文字列内のすべての HTML タグをフィルターで除外したい場合に使用しますか? </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">strip_tags 関数を使用しているようです<br></span></p> <p></p> <p> </p> <p><span style="font-size: large;"><span style="color: #ff0000; font-family: Simsun;">44. preg_rep</span>lace() と str_ireplace() の 2 つ機能と使い方の違いは何ですか? preg_split() 関数と split() 関数の使用方法は? </span></p> <p><span style="font-size: large;"><span style="font-family: 'Microsoft Yahei';"><strong>str_replace: </strong>これは文字列置換の推奨方法ですが、最も一致させたい要素が最初に配置されることに注意してください。 。 <br><strong>strtr: </strong> strtr も短い文字列を置換する場合には非常に効率的ですが、検索配列の添え字の長さの違いも効率に大きく影響します。また、使用しないことをお勧めします。何も起こらない場合、この形式は strtr(string, string, string) になります (半角文字以外は文字化けしやすくなります)。 <br><strong>preg_replace: </strong>言うまでもなく、最も強力な機能である通常のマッチングを使用できますが、効率をある程度犠牲にする必要があります。 </span><br></span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">45. 現在のタイムスタンプを取得する主な関数は何ですか? PHP を使用して、今日の時刻を 2010-12-10 22:21:21 の形式で出力しますか? PHP を使用して、前日の時刻を 2010-12-10 22:21:21 の形式で出力しますか? 2010-12-25 10:30:25 を UNIX タイムスタンプに変換するにはどうすればよいですか? </span></p> <p><span style="font-size: large;">echo date ("Y-m-d H:i:s" ,strtotime('-1,days')) date('Y-m-d H:i:s',time()); ; $unix_time = strtotime("2009-9-2 10:30:25");//UNIX タイムスタンプに変更します。 echo date("Y-m-d H:i:s",$unix_time);//通常の時刻にフォーマットします。 🎜></span></p> <p>46. get を使用して URL の値を渡す場合、中国語の文字化けが発生する場合、どの関数を使用して中国語の文字をエンコードする必要がありますか? ユーザーが Web サイトのフォームにデータを送信する場合、スクリプト攻撃 (たとえば、ユーザーが <script>alert (111); </script> を入力するなど) を防ぐために、データを受け取ったときに PHP 側でデータをどのように処理する必要がありますかそれ? <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p>中国語をエンコードするには urlencode() を使用し、デコードするには urldecode() を使用します。 htmlspecialchars($_POST[‘title’]) を使用してフォームパラメーターをフィルターし、スクリプト攻撃を回避します。 <span style="font-size: large;"></span></p> <p>47. データベースに接続する手順は何ですか?各ステップの戻り値のデータ型は何ですか?特に、mysql_query() はどのようなデータ型を返しますか? <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p></p> <p><span style="font-size: large;">$conn=mysql_pconnect("localhost","root","123456");//接続をオープンします<span style="font-family: 'Microsoft Yahei';"> mysql_select_db ("database name",$conn);//指定したデータベースに接続します<br>mysql_query("set names utf8");//文字エンコーディングを設定します<br>$sql="";<br>$R= mysql_query ($sql);//SQL ステートメントを実行して結果セットを返します<br>while($v=mysql_fetch_array($R)){<br>echo "フィールド名".$v['title'];<br><br>}</span></span></p> <p>mysql_query() クエリなどのステートメントが含まれている場合、それはリソースを返します。端的に言えば、それは必要なデータ結果セットです。追加、削除、変更などのステートメントが含まれているかどうかを確認し、true または false を返します。 <span style="font-size: large;"></span></p> <p> </p> <p></p> <p>48. mysql_fetch_row() と mysql_fetch_assoc() および mysql_fetch_array の違いは何ですか? <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p>最初のものは結果セットから行をインデックス配列として返し、2 つ目は連想配列を返し、3 つ目はインデックス配列または連想配列のいずれかを返します。 2 番目のパラメータに応じて MYSQL_BOTH MYSQL_NUM MYSQL_ASSOC のデフォルトは MYSQL_BOTH $sql = "select * from table1"; $result = mysql_fetch_array($result, MYSQL_NUM);<span style="font-size: large;"></span></p> <p> 49. これまで学習したリソースを返す関数を教えてください。 <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p>答え: mysql_connect(); mysql_query(); 選択が成功した場合のみ、リソースは FALSE を返します。 fopen();<span style="font-size: large;"></span></p> <p>50. ファイルをアップロードする際に注意すべき点は何ですか?指定したディレクトリにファイルを保存するにはどうすればよいですか?重複した名前のファイルをアップロードする問題を回避するにはどうすればよいですか? <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p>1. まず、php.ini でファイルのアップロードを有効にする必要があります。2. php.ini にはアップロードできる最大値があり、デフォルトは 2MB です。必要に応じて変更できます。 3. フォームをアップロードするときは、必ず enctype="multipart/form-data" を form タグに記述してください。 5. フォームを type= に設定します。 file" Control; 6. アップロードしたファイルのサイズ MAX_FILE_SIZE、ファイルの種類が要件を満たしているか、アップロード後に保存されるパスが存在するかに注意してください。 アップロードされたファイル名からファイル接尾辞を取得し、タイムスタンプ ファイル接尾辞を使用してファイルの名前を変更することで、名前の重複を避けることができます。 アップロードしたファイルの保存ディレクトリを自分で設定し、それをファイル名と組み合わせてファイル パスを形成し、指定したディレクトリにファイルを保存できます。 <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p>52. $_FILES は何次元の配列ですか? 1 番目と 2 番目の次元のインデックス添字は何ですか?ファイルを一括アップロードする場合は何に注意すればよいですか? <span style="font-size: large;"></span></p> <p> 2 次元配列。最初の次元はアップロード コントロールの名前で、2 次元の添字は name/type/tmp_name/size/error.<span style="color: #ff0000; font-family: Simsun; font-size: large;"></span></p> <p>53 ヘッダーの主な機能は何ですか。 () 関数?使用時に注意すべき点は何ですか? <span style="font-size: large;"></span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">header 関数を使用してページに移動します。 header('Location:'.$url); header を使用して content-type を宣言します。 header('content-type:text/HTML;charset=utf- 8') ; ヘッダーを使用して応答ステータス コードを返します。例: header('HTTP/1.1 404 Not Found'); ヘッダーを使用して、一定時間後にジャンプを実行します。 $url}" )、$delay はジャンプを遅らせる時間、$url はジャンプする必要がある URL、ヘッダーを使用してブラウザーのキャッシュを制御、http 検証を実行、header('HTTP/1.1 401 Unauthorized')、 header('WWW-Authenticate: Basic realm="Top Secret"'); ダウンロード操作にヘッダーを使用します。<br></span>54. ダウンロード時の header() 関数の使用方法。 files?</p> <p> <span style="color: #ff0000; font-family: Simsun; font-size: large;"></span>header("content-type: application/octet-stream;charset=UTF-8"); //ここで utf-8 を追加することとそれを定義することの違いは何ですかその上? </p> <p><span style="font-size: large;"></span> header("accept-ranges: bytes"); header("accept-length: ".filesize($filedir.$filename)); header("content-disposition:attachment"); ; filename=".$filedir.$filename);</p> <p><span style="font-size: large;"></span> 55. ajax とは何ですか? ajaxの原理は何ですか? ajaxのコアテクノロジーとは何ですか? ajaxの長所と短所は何ですか? </p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"></span>ajax とは、asynchronous javascript and xml の略称で、javascript、xml、css、DOM などの複数の技術を組み合わせたものです。 「$」は jQuery のエイリアスです。ページ内のユーザーのリクエストは、ajax エンジンを通じて非同期にサーバーと通信します。最後に、ajax エンジンは、返されたデータをページに表示することを決定します。場所を指定します。 Ajax では、ついに、別のページのすべての出力コンテンツを 1 つのページ上の指定された場所にロードできるようになりました。 このようにして、静的ページもデータベースから返されたデータ情報を取得できます。したがって、ajax テクノロジーを使用すると、ページ全体を更新せずに静的 Web ページがサーバーと通信できるようになり、ユーザーの待ち時間が短縮され、ネットワーク トラフィックが削減され、顧客エクスペリエンスの使いやすさが向上します。 Ajax の利点は次のとおりです。 1. サーバーの負担を軽減し、これまでサーバーが負担していた作業の一部をクライアントに転送し、クライアントのアイドル リソースを処理に使用します。 2. 部分的な更新のみでページを更新します。ページの応答速度により、ユーザー エクスペリエンスがよりフレンドリーになります。 Ajax の欠点は、検索エンジンが Ajax によって要求されたコンテンツに直接アクセスできないため、SEO の促進や最適化に役立たないことです。 ajax のコアテクノロジーは XMLHttpRequest であり、これは JavaScript のオブジェクトです。 </p> <p><span style="font-size: large;"></span>56. jQueryとは何ですか? jqueryでajaxを簡素化する方法は何ですか? </p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"></span>jQuery は Javascript のフレームワークです。 $.get()、$.post()、$.ajax()。 $ は jQuery オブジェクトのエイリアスです。 </p> <p><span style="font-size: large;"></span> コードは次のとおりです: $.post(非同期アクセス用の URL アドレス, {'パラメータ名': パラメータ値}, function(msg){ $("#result") .html( msg); $.get(非同期アクセスのURLアドレス, {'パラメータ名': パラメータ値}, function(msg){ $("#result").html(msg); }); $.ajax ({ type: "post"、url:loadUrl、cache:false、data:"parameter name="パラメータ値、success:function(msg) { $("#result").html(msg); } }); </p> <p><span style="font-size: large;"></span>57. セッション制御とは何ですか? </p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"></span>簡単に言えば、セッション制御はユーザー情報を追跡および識別するためのメカニズムです。セッション制御の考え方は、Web サイト内の変数を追跡することで、システムがこのユーザー情報に基づいて対応するユーザー情報を識別し、ユーザーの権限を表示できるようにすることです。ユーザーの対応する権限に適したページコンテンツ。 現在、最も重要なセッション追跡方法には、Cookie とセッションが含まれます。 </p> <p><span style="font-size: large;"></span>58. セッション追跡の基本手順 </p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"></span>1)。現在のリクエストに関連するセッション オブジェクトにアクセスします 2)。セッションに関連する情報を検索します 3)。セッション情報を保存します 4)。セッションデータの破棄</p> <p><span style="font-size: large;"></span> 59. Cookieを使用する際の注意点は何ですか? </p> <p></p> <p><span style="font-size: large;">1) setcookie() の前にページ出力を行うことはできません。スペースや空白行も許可されません。2) setcookie() の後、$_COOKIE['cookiename'] を呼び出しても出力はありません。現在のページを更新するか、次のページに移動して Cookie の値を確認する必要があります。 3) ブラウザによって Cookie の処理が異なる場合があり、ブラウザによって最大数の Cookie が作成される場合があります。 Cookie の数は 300、それぞれ 4kb を超えることはできません。各 Web サイトで設定できる Cookie の合計数は 20 を超えることはできません。 4) Cookie はクライアント側に保存されます。ユーザーが Cookie を無効にすると、setcookie は機能しなくなります。したがって、Cookie にあまり依存しないでください。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">60. セッションを使用する場合、現在のユーザーを他のユーザーと区別するために何を使用しますか? </span></p> <p><span style="font-size: large;">sessionid、現在の session_id は session_id() 関数を通じて取得できます。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">61. セッションと Cookie を使用する手順は何ですか?セッションとCookieのライフサイクルは何ですか?セッションとクッキーの違いは何ですか? </span></p> <p><span style="font-size: large;">有効期限が設定されていない Cookie の場合、Cookie の値は、ブラウザが閉じている限り、クライアント マシンのメモリに保存されます。自動的に消えます。 Cookie の有効期限が設定されている場合、ブラウザは Cookie をテキスト ファイルの形式でハード ディスクに保存し、ブラウザを再度開いたときも Cookie の値は有効です。セッションは、ユーザーがサーバー側に保存する必要がある情報を保存します。各ユーザーのセッション情報は、キーと値のペアのようにサーバー側に保存されます。キーはセッション ID、値はユーザーが保存する必要がある情報です。サーバーは、保存されたセッション情報がどのユーザーに属しているかを識別するために sessionid を使用します。 2 つの最大の違いは、セッションがサーバー側に保存されるのに対し、Cookie はクライアント側に保存されることです。セッションのセキュリティは高くなりますが、Cookie のセキュリティは弱いです。セッションは Web 開発において非常に重要な役割を果たします。ユーザーがこの ID を使用して Web サイトの管理バックエンドにアクセスすると、ユーザーの正しいログイン情報をサーバーのメモリに記録でき、再度ログインすることなく ID 確認を取得できます。正しくログインしていないユーザーにはセッションスペースが割り当てられず、管理背景のアクセスアドレスを入力してもページの内容を閲覧することができません。ページに対するユーザーの操作権限はセッションを通じて決定されます。 </span></p> <p><span style="font-size: large;">セッションを使用する手順: 1. セッションを開始します: session_start() 関数を使用して開始します。 2. セッションを登録します。 $_SESSION 配列に要素を直接追加するだけです。 3. セッションを使用する: セッションが空であるか、すでに登録されている場合は、通常の配列と同様に使用します。 4. セッションを削除します。 1. unset を使用して単一のセッションを削除できます。 2. $_SESSION=array() を使用してすべてのセッション変数を一度にログアウトします。 3. session_destroy() 関数を使用してセッションを完全に破棄します。 Cookieはどのように使用されますか? 1. ユーザーが訪問した情報の一部を記録します。 2. ページ間で変数を渡します。 3. 閲覧したインターネット ページを Cookie 一時フォルダーに保存します。これにより、将来の閲覧速度が向上します。 Cookie を作成します: setcookie(string cookiename, string value, int期限切れ); Cookie を読み取る: スーパー グローバル配列 $_COOKIE を介してブラウザ側で Cookie の値を読み取ります。 Cookie の削除: 2 つの方法があります。 1. 手動削除方法: ブラウザのプロパティを右クリックし、[Cookie の削除] を表示し、すべての Cookie ファイルを削除する操作を実行します。 2.setcookie() メソッド: Cookie を設定するメソッドと同じですが、今回は Cookie の値が空に設定され、有効時間が 0 以下の現在のタイムスタンプになります。 </span></p> <p><span style="font-size: large;">====================================== == =============================================== == =========</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">62. Cookie の名前をユーザー名に設定し、値を jack に設定し、Cookie を 1 週間後に期限切れにする方法は? ブラウザは最大でいくつの Cookie を生成できますか?各 Cookie ファイルの最大サイズはどれくらいですか? </span></p> <p><span style="font-size: large;">setcookie('username','jack',time() 7*24*3600); 最大 20 個の Cookie を生成できます。それぞれのクッキーは最大 4K を超えることはできません</span> </p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">63. セッションを設定または読み取る前に何をする必要がありますか? </span></p> <p><span style="font-size: large;">php.ini で session.auto_start = 1 を直接オンにするか、ページの先頭で session_start() を使用してセッションをオンにすることができます。その前に出力があってはなりません。 session_start() (空白行を含む)。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">64. 実際の開発ではセッションはどのような場面で使われるのでしょうか? </span></p> <p><span style="font-size: large;">セッションは、ユーザーのログイン情報を保存し、ページ間で値を渡すために使用されます。 1) 一般に、ユーザーが正常にログインした後にユーザーのログイン情報をセッションに割り当てるために使用されます。2) 検証コード イメージを生成し、ランダム コードの生成後にセッションに値を割り当てるために使用されます。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">65. セッションからログアウトする方法は何通りありますか? </span></p> <p><span style="font-size: large;">unset() $_SESSION=array(); session_destroy();</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"> 66. OOP とは何ですか?クラス属性とは何ですか? </span></p> <p><span style="font-size: large;">OOP (オブジェクト指向プログラミング) はオブジェクト指向プログラミングであり、最も重要な概念はクラスとオブジェクトの 2 つです。属性とメソッドの集合がクラスを形成します。クラスはオブジェクト指向プログラミングの核であり、特定の機能を実装するために使用される散在するコードが効率的に管理されます。 クラスは特定の機能と属性を備えた単なる抽象モデルですが、実際のアプリケーションではエンティティを 1 つずつ必要とします。つまり、クラスをインスタンス化した後、クラスはオブジェクトになります。クラスはオブジェクトの抽象概念であり、オブジェクトはクラスのインスタンス化です。 OOP には 3 つの主要な特徴があります。1. カプセル化 (隠蔽とも呼ばれます)、2. 継承、3. ポリモーフィズム。 OOP の利点: 1. コードの再利用性の高さ (コードの節約) 2. プログラムの保守性の高さ (スケーラビリティ) 3. 柔軟性 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"> 67. よく使用される属性へのアクセス 修飾子は何ですか?どういう意味でしょうか? </span></p> <p><span style="font-size: large;">プライベート、保護、パブリック。 クラス外: public、var サブクラス内: public、protected、var このクラス内: private、protected、public、var これら 3 つのキーワードを使用しない場合は、var キーワードも使用できます。ただし、var を権限修飾子と一緒に使用することはできません。 var で定義された変数はサブクラス内でアクセスできますが、クラスの外からもアクセスできます。これは public と同等です。 クラスの前に追加できるのは、final と abstract のみです。 アクセス修飾子 ( が必要です) private, protected, public, var) 、メソッドの前: static、final、private、protected、public、abstract</span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;"> 68. 3 つのキーワード $this と self および親はそれぞれを代表しますか?どのような状況で使用されますか? </span></p> <p><span style="font-size: large;">$this は現在のオブジェクト、self は現在のクラス、parent は現在のクラスの親クラス、$this は現在のクラスで使用されます。呼び出しには -> を使用します。プロパティとメソッド。 self も現在のクラスで使用されていますが、:: を使用して呼び出す必要があります。親はクラスで使用されます。 </span></p> <p><span style="color: #ff0000; font-family: Simsun; font-size: large;">69. クラス内で定数を定義する方法、クラス内で定数を呼び出す方法、クラス外で定数を呼び出す方法。 </span></p> <p><span style="font-size: large;">クラス内の定数もメンバー定数です。定数は変化しない量であり、定数値です。 定数を定義するには、キーワード const を使用します。例: const PI = 3.1415326; 定数へのアクセスは、クラス内でも変数へのアクセスとは異なります。</span></p> </table> </table>
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート