この章では、PHP の基本的な種類を紹介します。
私たちは、C/C++、C#、または Java のどの言語にもすでに慣れていると思います。この章では、比較言語として C# を使用します。
OK、PHP を学びたい場合、最初に何を考慮する必要がありますか?
それは次のような質問に違いないと思います:
PHP にはどのようなデータ型があり、他の言語との違いは何ですか? 言語にはデータ型として強い型と弱い型があります。PHP はどちらの型に属しますか? PHP のユニークな点は何ですか? 以上の考え方を踏まえて、一つ一つ詳しく説明していきます。
まずは前回の記事で引用したコードを取り出してみましょう。
PHP コード例
1 function display_user_urls($url_array)
2 {
3 // URL のテーブルを表示します
4
5 // これがページ上にあるかどうかを後でテストできるように、グローバル変数を設定します
6 global $ bm_table; 7 $bm_table = true;
9
フォーム名='bm_table' メソッド='post'>テーブル幅=300 セルパディング=2 セルスペース=0>
12 13 $color = "#cccccc";
14 echo "
ブックマーク | ";
15 echo "削除しますか?gt; |
";
16 if (is_array($ url_array) && count($url_array)>0)
17 {
18 foreach ($url_array as $url)
19 {
20 if ($color == "#cccccc")
21 $color = "#ffffff" ;
22 else
23 $color = "#cccccc";
24 // ユーザーデータを表示するときは必ず htmlspecialchars() を呼び出してください
25 echo "
".htmlspecialchars($url)."";
26 echo "27 "$url" echo " |
記録にブックマークはありません |
";
33 ?>
34
35 < ;/フォーム>
36 37 }
一つずつ説明していきましょう。
PHP のデータ型は何ですか?また他の言語とどう違うのですか? PHP は 8 つのプリミティブ データ型をサポートします。
4 つのスカラー型が含まれます:
Integer Float String Boolean 2 つの複合型も含まれます:
Array Object ただし、2 つの特別な型があります:
NULL Resource これを書いた後、あなたは心の中でつぶやき始めるかもしれません: それで、それらは何ですか?番組ではどのように表現されているのでしょうか?それでは、最初の 6 つのデータ型を見てみましょう。さらに2種類ありますので後述します。
Integer: int Float: float String: string Boolean: bool 実際、上記は C# とあまり変わらないので、ここでは詳しく説明しません。
Array データ型は非常に特殊です。このデータ型は C# 言語には存在せず、C/C++ や Java などの他の言語にも存在しないからです。 C# の配列のように扱うことができます。さらに、PHP の公式 Web サイトに記載されている内容を見てください。
PHP の配列は、実際には順序付けられたグラフです。グラフは値をキーにマッピングするタイプです。この型はさまざまな方法で最適化されているため、実配列、リスト (ベクトル)、ハッシュ テーブル (グラフの実装)、辞書、セット、スタック、キューなどとして使用できます。さらなる可能性を。別のPHP配列を値として使用できるので、ツリーのシミュレーションも簡単に行えます。
配列の使い方を見てみましょう。 Array はキーと値の間にマッピングされているため、新しい Array オブジェクトを作成できます。したがって、Array はセミコロンで区切られた特定の数の値のペアをサポートします。例を挙げると、コードは次のとおりです。
php
$arr = array ( " Hello " => " Word " , 12 => true );
echo $arr [ " Hello " ] ; // bar
echo $arr [ 12 ]; // 1
?> 一つ覚えておいてください: key は整数または文字列です。キー名が整数の標準表現の場合は四捨五入され、浮動小数点の場合は整数に変換されます。対照的に、値は任意の値にすることができます。
多次元配列を実装したい場合はどうすればよいでしょうか? PHP には、C# のような多次元配列を作成する方法がありません。なぜですか?ここで言いたいのは、ここでの配列は C# などの言語における単純な配列ではなくなっているということです。配列を使用して拡張されており、ハッシュ テーブル、辞書などが可能です。したがって、多次元配列を提供することは実際には必要ありません。そうは言っても、次のように同様の関数を実現できます:
php
$arr = array ( " somearray " => array ( 6 => 5 , 13 => 9 , " a " => ; 42 ));
echo $arr [ " somearray " ][ 6 ]; // 5
echo $arr [ " somearray " ][ " a " ]; // 42
?>
ここで説明したので、配列オブジェクトを作成または削除する方法を知りたいかもしれません。何も言わずに次のコードを見てください:
1 ? php
2 $arr = array ( 5 => 1 , 12 => 2 ); // と同等です。 $ Arr [13] = 56;
4 // 2 番目の要素のキーは 12 なので
5 $ arr ["x"] = 42 // キーは文字列です
6 // "x" x "x "、値 42。
7 unset ( $arr [ 5 ]); // キー 5 の要素を削除します。
8 unset ($arr); // 配列全体を削除します
9 //unset() は、文字通り、設定を元に戻すことを意味します
10 ?>
どうでしょうか、基本的には Array であることを理解してください。
Objectに関してはC#と変わらない感じです。
NULL オブジェクトは興味深いものです。これは C# には存在しませんが、C# には null があります。
特殊な NULL 値は、変数に値がないことを示します。NULL 型の唯一の値は NULL です。 NULL 型は PHP 4 で導入されたことに注意してください。
次の場合、変数は NULL とみなされます。
に NULL の値が割り当てられている。
にはまだ値が割り当てられていません。
は設定されていません()。
簡単です。C# の null がオブジェクトとして使用されることがわかります。賢い人たちよ。
この場合、特定の変数が NULL であるかどうかを判断するにはどうすればよいでしょうか? 特定の変数を NULL に設定する方法は、 is_null() を呼び出すことです。 、リソースと呼ばれます。外部リソースへの参照を保持します。リソースは、特殊な機能を通じて作成および使用されます。 リソース タイプの変数は、ファイル、データベース接続、グラフィック キャンバス領域などを開くための特別なハンドルとして保存されるため、他のタイプの値をリソースに変換することはできません。 PHP4 Zend エンジンにはリソース カウント システムが導入されているため、(Java と同様に) リソースが参照されなくなったことを自動的に検出できます。この場合、このリソースによって使用されているすべての外部リソースは、ガベージ コレクション システムによって解放されます。このため、結果解放関数を使用して手動でメモリを解放する必要がほとんどありません。ゴミ収集?
これ以外に何かありますか?もちろん。いくつかの擬似タイプもあります:
。
例えば、gettype はすべての PHP タイプを受け入れることができ、str_replace は文字列と配列を受け入れることができます。
番号
番号は、パラメータがcall_user_function()やusort()などの関数としてユーザー定義関数のパラメータとして使用できる関数であることを示します。 Callback 関数は単純な関数であるだけでなく、静的クラスのメソッドなどのオブジェクトのメソッドであることもあります。
2. 言語のデータ型には強い型と弱い型があります。PHP はどちらに属しますか?
PHP は型付けが弱いです。 PHP では、変数の型は、変数に割り当てられた値によって決まります。割り当てられた値が整数の場合、変数は整数型であり、文字列の場合、変数は文字列型です。次のコードを見てください:
php
$name = " your name " // 名前は文字列型です。
$total=12;詳細には立ち入りません。