PHPリファレンス
UPDATE:2019年11月11日
PHP の 配列演算子
PHP4 PHP5 PHP7
1 Minute Note
+ 結合 | == 同等 |
=== 同一 | != 等しくない |
<> 等しくない | !== 同一でない |
- 配列演算子 は 配列を統合したり比較したりする
配列演算子は配列型のデータを統合したり比較したりする演算子です。
配列演算子とは
POINT
- 配列演算子 は 配列を統合したり比較したりする
配列演算子は配列型のデータを統合したり比較したりする演算子です。
配列演算子としての「+」は、右辺の配列を左辺の配列に追加したものを返します。両方の配列に存在するキーについては左辺の配列の要素が優先され、右辺の配列にあった同じキーの要素は無視されます。 その他の配列演算子については配列演算子の種類を参照下さい。
配列演算子 「+」統合 の例
1 2 3 4 5 6 | <?php $arrayA = array('a' => 'apple', 'b' => 'banana'); $arrayB = array('a' => 'pear', 'b' => 'strawberry', 'c' => 'cherry'); $arrayC = $arrayA + $arrayB;//結合 $arrayA に $arrayB を追加結合する var_dump($arrayC); ?> |
両方の配列に存在するキー「a」「b」については 左辺 $arrayA の要素が優先されます。
結果は
array(3) {
[“a”]=>
string(5) “apple”
[“b”]=>
string(6) “banana”
[“c”]=>
string(6) “cherry”
}
[“a”]=>
string(5) “apple”
[“b”]=>
string(6) “banana”
[“c”]=>
string(6) “cherry”
}
となります。
配列演算子の種類
配列演算子の種類、優先順位、結合時の評価です。すべての演算子の種類や優先順位はこちらを参照下さい。
演算子 | 名前 | 優先順位 | 結合時の評価 | 例 | 結果 |
---|---|---|---|---|---|
+ | 結合 | 1 | left | $a + $b | $a および $b を結合する。 |
== | 同等 | 1 | 結合しない | $a == $b | $a および $b のキー/値のペアが等しい場合に TRUE。 |
=== | 同一 | 1 | 結合しない | $a === $b | $a および $b のキー/値のペアが等しく、その並び順が等しく、 かつデータ型も等しい場合に TRUE。 |
!= | 等しくない | 1 | 結合しない | $a != $b | $a が $b と等しくない場合に TRUE。 |
<> | 等しくない | 1 | 結合しない | $a <> $b | $a が $b と等しくない場合に TRUE。 |
!== | 同一でない | 1 | 結合しない | $a !== $b | $a が $b と同一でない場合に TRUE。 |
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <!-- サンプルコード --> <h3>配列演算子 「+」統合</h3> <?php $arrayA = array('a' => 'apple', 'b' => 'banana'); $arrayB = array('a' => 'pear', 'b' => 'strawberry', 'c' => 'cherry'); $arrayC = $arrayA + $arrayB;//結合 $arrayA に $arrayB を追加結合する var_dump($arrayC); echo "<br>\n"; $arrayA = array('a' => 'pear', 'b' => 'strawberry', 'c' => 'cherry'); $arrayB = array('a' => 'apple', 'b' => 'banana'); $arrayC = $arrayA + $arrayB;//結合 $arrayA に $arrayB を追加結合する var_dump($arrayC); echo "<br>\n"; $arrayA = array('a' => 'pear', 'b' => 'strawberry', 'c' => 'cherry'); $arrayB = array('d' => 'apple', 'e' => 'banana'); $arrayC = $arrayA + $arrayB;//結合 $arrayA に $arrayB を追加結合する var_dump($arrayC); echo "<br>\n"; $arrayA = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); $arrayB = array('name' => 'miki' , 'sex' => 'female', 'age' => '28', 'address' => 'Japan'); $arrayC = $arrayA + $arrayB;//結合 $arrayA に $arrayB を追加結合する var_dump($arrayC); ?> <h3>配列演算子 「==」等しい</h3> <?php $arrayA = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); $arrayB = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); if($arrayA == $arrayB) echo '配列$arrayAと配列$arrayBは等しいです。'; else echo '配列$arrayAと配列$arrayBは等しくありません。' ?> <h3>配列演算子 「===」同一</h3> <?php $arrayA = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); $arrayB = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); if($arrayA === $arrayB) echo '配列$arrayAと配列$arrayBは同一です。'; else echo '配列$arrayAと配列$arrayBは同一でありません。' ?> <h3>配列演算子 「!=」等しくない</h3> <?php $arrayA = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); $arrayB = array('name' => 'miki' , 'sex' => 'female', 'age' => '28'); if($arrayA != $arrayB) echo '配列$arrayAと配列$arrayBは等しくないです。'; else echo '配列$arrayAと配列$arrayBは等しいです。' ?> <h3>配列演算子 「<>」等しくない</h3> <?php $arrayA = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); $arrayB = array('name' => 'miki' , 'sex' => 'female', 'age' => '28'); if($arrayA <> $arrayB) echo '配列$arrayAと配列$arrayBは等しくないです。'; else echo '配列$arrayAと配列$arrayBは等しいです。' ?> <h3>配列演算子 「!==」同一でない</h3> <?php $arrayA = array('name' => 'taro' , 'sex' => 'male', 'age' => '32'); $arrayB = array('name' => 'miki' , 'sex' => 'female', 'age' => '28'); if($arrayA !== $arrayB) echo '配列$arrayAと配列$arrayBは同一でないです。'; else echo '配列$arrayAと配列$arrayBは同一です。' ?> |
実行結果
配列演算子 「+」統合
array(3) {
[“a”]=>
string(5) “apple”
[“b”]=>
string(6) “banana”
[“c”]=>
string(6) “cherry”
}
array(3) {
[“a”]=>
string(4) “pear”
[“b”]=>
string(10) “strawberry”
[“c”]=>
string(6) “cherry”
}
array(5) {
[“a”]=>
string(4) “pear”
[“b”]=>
string(10) “strawberry”
[“c”]=>
string(6) “cherry”
[“d”]=>
string(5) “apple”
[“e”]=>
string(6) “banana”
}
array(4) {
[“name”]=>
string(4) “taro”
[“sex”]=>
string(4) “male”
[“age”]=>
string(2) “32”
[“address”]=>
string(5) “Japan”
}
array(3) {
[“a”]=>
string(5) “apple”
[“b”]=>
string(6) “banana”
[“c”]=>
string(6) “cherry”
}
array(3) {
[“a”]=>
string(4) “pear”
[“b”]=>
string(10) “strawberry”
[“c”]=>
string(6) “cherry”
}
array(5) {
[“a”]=>
string(4) “pear”
[“b”]=>
string(10) “strawberry”
[“c”]=>
string(6) “cherry”
[“d”]=>
string(5) “apple”
[“e”]=>
string(6) “banana”
}
array(4) {
[“name”]=>
string(4) “taro”
[“sex”]=>
string(4) “male”
[“age”]=>
string(2) “32”
[“address”]=>
string(5) “Japan”
}
配列演算子 「==」等しい
配列$arrayAと配列$arrayBは等しいです。
配列演算子 「===」同一
配列$arrayAと配列$arrayBは同一です。
配列演算子 「!=」等しくない
配列$arrayAと配列$arrayBは等しくないです。
配列演算子 「<>」等しくない
配列$arrayAと配列$arrayBは等しくないです。
配列演算子 「!==」同一でない
配列$arrayAと配列$arrayBは同一でないです。
タグ(=記事関連ワード)
日付
公開日:2017年3月21日
最終更新日:2019年11月11日
最終更新日:2019年11月11日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpref-operators_array/trackback/