PHPマスター| PHPのアレイオペレーター:興味深いが話されていない
PHPアレイ演算子の詳細な説明:あまり知られていないヒント
PHP演算子は、算術、割り当て、ビット操作、比較、エラー制御、実行、増分/減少、ロジック、文字列、配列、タイプ演算子の7つのカテゴリに分けることができます。この記事では、配列演算子に焦点を当て、配列と組み合わせて使用する場合の他の演算子の動作をカバーします。
キーポイント
- PHPアレイ演算子には、ユニオン、平等、不平等、および非同一性が含まれます。 -同一。
- ユニオンオペレーター()は、キーに従って2つの配列をマージし、2番目の配列の最初の配列に既に存在するキーを無視します。ただし、組合が配列値に基づいていることはしばしば誤解されていますが、実際には配列キーに基づいています。
- ID操作者(===)は、対応するすべての値の要素、キー値のペア、要素順序、およびデータ型の数で2つの配列が同じかどうかを確認します。しかし、配列キーの場合、キーが整数であり、別の配列のキーと同様の整数文字列表現がある場合、それはゆるい一致をします。 アレイオペレーター以外のオペレーターをアレイに適用すると、
- PHPの動作が異なります。たとえば、算術演算子をアレイに適用すると、致命的なエラーが発生します。増分/減少演算子は、配列に影響を与えません。
配列オペレーター
公式ドキュメントでは、各配列オペレーターについて簡単に説明します。これにより、各オペレーターの予想される結果を理解することが困難な場合があります。各配列オペレーターを詳しく見て、機能をより明確に理解しましょう。これらの演算子はすべてバイナリです。つまり、各演算子は2つの配列に正確に作用します。
配列ユニオン
最初はユニオンオペレーター()です。これは、アレイのキーに従って2つの配列のユニオンを提供します。ゆるいキーマッチングを実行し、2番目の配列の同等のキーが最初の配列に既に存在する場合、2番目の配列のすべてのキーは無視されます。 2番目の配列の残りのキー(および対応する値)は、最初の配列に追加されます。
<?php $array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f', 'g', 'h', 'i'); print_r($array1 + $array2); print_r($array2 + $array1); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => g [4] => h [5] => i ) Array ( [0] => d [1] => e [2] => f [3] => g [4] => h [5] => i )</code>
<?php $array1 = array('0' => 'a', '1' => 'b', '2' => 'c', '3' => 'd'); $array2 = array(false => 'e', 1 => 'f', 2 => 'g', 3 => 'h', 4 => 'i'); print_r($array1 + $array2); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => d [4] => i )</code>
<?php $array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f', 'g', 'h', 'i'); print_r($array1 + $array2); print_r($array2 + $array1); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => g [4] => h [5] => i ) Array ( [0] => d [1] => e [2] => f [3] => g [4] => h [5] => i )</code>
配列の平等
equalityオペレーター(==)は、2つの配列が類似しているかどうかを確認します。最初の配列のすべてのキー値ペアが2番目の配列に同等のキー値ペアがある場合、演算子はtrueを返します。値とキーにゆるく一致し、要素の順序を無視します。
<?php $array1 = array('0' => 'a', '1' => 'b', '2' => 'c', '3' => 'd'); $array2 = array(false => 'e', 1 => 'f', 2 => 'g', 3 => 'h', 4 => 'i'); print_r($array1 + $array2); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => d [4] => i )</code>
両方の配列の要素は異なる順序でありますが、同じ値は各配列の同様のキーに結合します。ただし、両方の配列には異なるキー価値ペアがあるため、次の2つは等しくありません。
<?php $union = array_unique(array_merge($array1, $array2)); print_r($union); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i )</code>
<?php $array1 = array('1' => 1, '2' => 2, '3' => 3, '0' => 0); $array2 = array(false => '0', 1 => '1', 2 => '2', 3 => '3'); var_dump($array1 == $array2); ?>
<code>bool(true)</code>
ID操作者(===)は、2つの配列が同じかどうかを確認します。 2つの配列は、次の条件を満たしている場合と同じです。
同じ数の要素があります
- は同じキー値のペア を持っています
- 同じ要素順序 を持っています
- 対応するすべての値のデータ型は同じです
- ただし、配列キーの場合、キーが整数であり、別の配列のキーと同様の整数文字列表現がある場合、ID演算子はゆるい一致を行います。この演算子は、フローティングポイント番号を文字列キーに厳密に一致させます。 PHPマニュアルはこの違いを述べていません。
<?php $array1 = array(1, 2); $array2 = array(2, 1); var_dump($array1 == $array2); ?>
<code>bool(false)</code>
<?php $array1 = array('1' => 1, '2' => 2, '3' => 3, '0' => 0); $array2 = array(false => '0', 1 => '1', 2 => '2', 3 => '3'); var_dump($array1 != $array2); ?>
<code>bool(false)</code>
<?php // 数组几乎相同,但键的类型不同 $array1 = array('0' => '0', '1' => '1', '2' => '2', '3' => '3'); $array2 = array(0 => '0', 1 => '1', 2 => '2', 3 => '3'); var_dump($array1 === $array2); ?>
<code>bool(true)</code>
他の演算子と配列を使用します
<?php // 两个数组中的元素顺序不同 $array1 = array('0' => '0', '1' => '1', '2' => '2', '3' => '3'); $array2 = array(1 => '1', 2 => '2', 3 => '3', 0 => '0'); var_dump($array1 === $array2); ?>
<code>bool(false)</code>
致命的なエラー:予期しないオペランドタイプ
PHPは、次の演算子が配列に適用されると致命的なエラーを発行します。
ビット操作非オペレーター(〜)
算術ネガティブ演算子( - )
- 算術減算演算子( - )
- 算術乗算演算子(*)
- 算術師団演算子(/)
- アレイを整数として扱います
- 次の演算子とともに使用すると、配列は整数として扱われます。空の配列(要素なし)はint(0)と見なされ、空でない配列はint(1)と見なされます。
- 論理非(!)は空の配列にtrueを返し、オペランド配列に1つ以上の要素がある場合にfalseを返します。
- ビットと(&&)1つのオペランドが空でない場合は、0を返します。
- ビットまたは(|)は、両方のオペランドが空である場合に0を返します。
- ビット排他的(^)両方の配列が空または空でない場合は0を返します。配列の1つが空の場合は、1を返します。
- 左シフト演算子(&lt;&lt;)を使用して、配列を左nステップに移動します。
- 右シフト演算子(&gt;&gt;)は、右に移動することを除いて、左シフトと同様に動作します。
- モジュール(%)は、両方の配列が空でない場合にtrueを返します。 2番目の配列が空の場合、「ゼロで分割された」エラーが発現されます。最初の配列が空の場合、0(0%1の結果)が返されます。
- ロジスティックvs(&&およびおよび)は、配列が空である場合にfalseを返します。両方の配列が空でない場合はtrueを返します。
- 論理的または(||およびまたは)オペランドアレイが空でない場合はtrueを返します。両方の配列が空の場合、falseが返されます。
- 両方の配列が空または空でない場合、論理XOR(XOR)がfalseを返します。それ以外の場合、配列の1つが空の場合、trueを返します。
- captアレイをブールにして、配列が空の場合はfalseを返し、それ以外の場合はtrueを返します。
アレイを文字列
として扱います2つの配列を連結すると、文字列連結演算子(。)は各配列を文字列「配列」として扱い、これらの文字列を連結します。
<?php $array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f', 'g', 'h', 'i'); print_r($array1 + $array2); print_r($array2 + $array1); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => g [4] => h [5] => i ) Array ( [0] => d [1] => e [2] => f [3] => g [4] => h [5] => i )</code>
無効
増分/減少演算子(および - )は、配列に影響を与えません。
<?php $array1 = array('0' => 'a', '1' => 'b', '2' => 'c', '3' => 'd'); $array2 = array(false => 'e', 1 => 'f', 2 => 'g', 3 => 'h', 4 => 'i'); print_r($array1 + $array2); ?>
<code>Array ( [0] => a [1] => b [2] => c [3] => d [4] => i )</code>
結論
配列で使用した場合、PHP演算子に関する実際のドキュメントはほとんどありませんが、詳細を確認するには、配列オペレーターのページにユーザーがサビされたコメントを表示できます。あなたの質問とコメントはここで大歓迎です。さらに説明していただければ幸いです。
Fotoliaの写真PHPアレイオペレーターFAQ(FAQ)
PHPのさまざまな種類の配列演算子は何ですか?
PHPは、ユニオン()、平等(==)、アイデンティティ(===)、不平等(!=または&lt;&gt;)、および非対照的な平等(!==)を含むいくつかのタイプの配列演算子をサポートします。これらの各演算子は、異なる機能を実行します。たとえば、Union Operator()は配列を組み合わせ、等式オペレーター(==)は2つの配列が等しいかどうかをチェックし、IDオペレーター(===)は2つの配列が同じかどうかを確認します。
ユニオン()オペレーターはどのようにPHPで機能しますか?
PHPのUnion()オペレーターは、2つの数値を1つに組み合わせています。アレイの結合が必要です。つまり、2つの配列にすべての要素を含む配列を返します。配列に同じ文字列キーがある場合、最初の配列の値が使用され、2番目の配列の一致キーの値は無視されます。
平等(==)とID(===)演算子の違いは何ですか?
equality(==)演算子は、注文やデータ型に関係なく、2つの配列が同じキー/値のペアを持っているかどうかをチェックします。一方、ID(===)演算子は、2つの配列が同じ順序と同じデータ型のキー/値のペアが同じかどうかを確認します。
PHPの不平等(!=または&lt;&gt;)オペレーターはどのように機能しますか?
PHPの不均等な演算子は、!=または&lt;&gt;で表されます。配列が等しくない場合はtrueを返し、配列が等しい場合はfalseを返します。
PHPにおける非同一性(!==)演算子の役割は何ですか?
PHPの非同一性(!==)演算子は、2つの配列が異なるかどうかをチェックします。配列が同じではない場合はtrueを返します。
配列演算子はPHPで結合できますか?
はい、ArrayオペレーターをPHPで組み合わせて、より複雑な操作を実行できます。ただし、これを行う場合は、予期しない結果を避けるように注意してください。コンテキストのコンテキストで、複合演算子が論理的に重要であることを常に確認してください。
配列に配列オペレーターを使用して特定の値が含まれているかどうかを確認する方法は?
PHPでIN_ARRAY()関数を使用して、配列に特定の値が含まれているかどうかを確認できます。値が配列で見つかった場合、この関数はtrueを返します。
PHPアレイから特定の値を削除する方法は?
phpでarray_diff()関数を使用して、配列から特定の値を削除できます。この関数は、配列の値を別の配列の値と比較し、差を返します。
PHPで配列をソートする方法は?
PHPは、sort()、asort()、ksort()、およびusort()を含む配列をソートするための複数の関数を提供します。これらの各機能は、アレイを別の方法でソートするため、ニーズに最適なものを選択する必要があります。
PHPの配列の順序を逆転させる方法は?
phpでarray_reverse()関数を使用して、配列の順序を反転させることができます。この関数は、新しい一連の要素を逆の順序で返します。
以上がPHPマスター| PHPのアレイオペレーター:興味深いが話されていないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。
