読者です 読者をやめる 読者になる 読者になる

リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

3-2. PHP基礎②多次元配列と演算子

前回は変数とは何ぞということと、変数を横並びにくっつけて配列をつくることをしてみました。 ほんとどうでもいいことなんですけど、ちょうどたこ焼きを食べてる時に「もしや変数というのは、中身のたこが文字列や列ってことか!」とひとりで興奮してしまいました。#どうでもいい

今回は多次元配列と演算子ってどんなもんのがあるの?というのを書いていきます。

1-1. 2次元配列をつくってみる

前回エラーがでてしまい断念してふて寝しました。なんでやー!とコードをみると、ちょんちょんが1個なかったという凡ミスが原因でした。くそっ。
リス大先生にのっとって、3目並べ(3×3の升目に○と×をならべる)の進行を追跡したい場合を考えます。
<?php
$oxo = array(array('x', '', 'o'),
                     array('o', 'o', 'x'),
        array('x', 'o', '' ));
echo $oxo[1][2];  ?>
なんとなく数IIIC的な、そういうのに似てるな。形が。笑

結果として、[1]2行目の[2]3番目をよびだせといっているのでXがでます。
f:id:taro-blog2323:20160713220614p:plain
イメージとしては、こんな感じ。
f:id:taro-blog2323:20160713220722j:plain


2-1.演算子ってなんだ

演算子とは数計算やストリング、比較、論理に関係する命令式のことを言います。 ここでは4つ、演算子を紹介していきます。

2-2. 算術演算子

足したり、引いたり、かけたり、わったり、普段も使うような数値の計算で使用します。

演算子 意味 式例 式の詳細 Aが8の時の結果
+ 足す $A+3 $Aに3を足す 11
- 引く $A-3 $Aから3を引く 5
* かける $A*3 $Aに3をかける 24
/ 割る $A/2 $Aを2で割る 4
% 割った余り $A%3 $Aを3で割ったあまりを求める 2
++ インクリメント(1を足す) ++$A $Aに1を足す 9
-- デクリメント(1を引く) --$A $Aから1を引く 7

『++』と『--』が出てきた途端、おおう?となりますが1回おぼてしまえば楽勝です。

2-3. 代入演算子

字から想像するに値を変数にわりあてるときにつかうイコール的なやつです。
+と=がセットになってるやつあるとちょっと焦りますが、とりあえず=がついてたら代入演算子です。

演算子 意味 式例 式の詳細 Aが8の時の結果
= 代入 $A = 5 $Aに5を代入 8
+= 足した結果を代入 $A += 5 $Aの値に5を足した結果を変数$Aに代入 10
-= 引いた結果を代入 $A -= 5 $Aの値から5を引いた結果を変数$Aに代入 3
*= かけた結果を代入 $A *= 5 $Aの値に5をかけた結果を変数$Aに代入 40
/= 割った結果を代入 $A /= 2 $Aの値を5で割った結果を変数$Aに代入 4
.= 連結(別章にてお勉強) $A .= $B $Aの値に変数$Bの値を結合した結果5を変数$Aに代入 別章にてお勉強
%= 割った余りを代入 $A %= 5 $Aの値を5で割ったあまりを変数$Aに代入 3

それならA=A+5とかにすればいいんではと思うんですけど、 なんだか回りくどい感じがするが、きっといいことがあるんだろう。。

2-4. 比較演算子

右辺と左辺の値を比べるときに使用するときに使います。 ある変数が特定の値に達したかとか、ある設定値よりも小さいかとかその結果をTRUE、FALSEで表示されます。
なんか小学校か中学校の算数を思い出します…

演算子 意味 式例
== 左辺は右辺に等しい $A ==4
!= 左辺は右辺に等しくない $A !=4
> 左辺は右辺よりも大きい $A >4
< 左辺は右辺よりも小さい $A <4
>= 左辺は右辺に等しいか、右辺よりも大きい(以上) $A >=4
<= 左辺は右辺に等しいか、右辺よりも小さい(以下) $A <=4

=と==は注意ですね。 =が1個だと代入演算子で、=が2個だと比較演算子で忘れないようにせねばです。

2-5. 論理演算子

こういう定義だとTRUEなの?FALSEなの?という時に使います。なので、論理演算子は比較演算子の結果を組み合わせて使います。
たとえば…
『もし時刻が12PMより後で、2PMより前なら、ランチにする』⇨『今1PMだからランチする(TRUE)』のようなコードを書くときに使います。

演算子 意味 式例 式の詳細
&& かつ $j == 3 && $k ==2 変数$jが3かつ変数$kが2ならTRUE
and かつ(&&より優先順位が低い) $j == 3 and $k ==2 同上
|| または $j < 3 || $k >10 変数$jが3より小さいかまたは変数$kが10より大きいならTRUE
or または(||より優先順位が低い) $j < 3 or $k >10 同上
! 否定 !($j == &k) 変数$jと変数$kが等しくないならTRUE
xor 排他的論理和(execlusive orの略) $j xor $k

xorがなんか難しいオーラが漂ってますが、どちらかの値がTRUEの時にTRUEを返し、どっちもTRUEかFALSEの時にはFALSEを返します。 AでもBでもいけるしいけないみたいなときはFALSEという…これ迷子案件かもですが、とりあえずそういうもんだと落ち着かせます。

次回は、変数についてもう少し掘り下げて勉強していきます。 いじょー