Progate PHP学習レッスンⅠ (2回目②)
こんにちは。
昨日に続き本日もProgateしていきたいと思います。
プログラミングって、言葉で世界を構築しているよな~って思ってネットサーフィンしていたら言葉について研究した哲学者ソシュールという人が出てきました。どうやら、言葉と概念の対応性、認識について研究している人のようです。
その中で、以下の文章が出てきました。
プログラミング言語においては、定義を曖昧にさせる余地は無く、少しでも違うとエラーを返してくれます。さらにソシュールは言葉について、二種類に区別しています。
プログラミング言語は、ソシュールの言うところの言語(ラング)を突き詰めたもので言葉の恣意性を徹底的に排除して、世界の構築精度を高めているように思えます。
自分とコンピュータの間には、認識の差異(自分が一方的に間違っている)によるエラーが発生しているので、エラーを減らすべくProgateします。
以下、学習メモ書きです。
PHP 学習レッスンI
8. &&, ||
&& : AND、|| : OR, ||記号探しづらい ||は「パイプライン」と言うらしい
! : 条件の否定 反転させる。ifの中の小カッコ()の手前に書く
演習 :%のあまりの計算の仕方は、本当に便利だと思う。考え方が好き
ifの次はelseでなく、elseif
elseは最後だから()は不要で{}より
9.switch文
caseで書く
各caseの後にはbreak;を忘れず
最後はdefault
switch文はswitchから書き出して、switch () : ()の中に変数を入れて、その数値(もとは変数)に対して { case : 〇〇(数値) 命令文}みたいに書く。 この時、caseの後の : を忘れない
caseやdefaultの後は : で、breakの後は;というのがヤヤコシイが、処理途中は : で、終了は ; みたいなイメージだろうか。
10. 配列
変数が1つの値しか扱えないのに対して、配列は複数の値を扱える。
array(,)で表現する
echoでインデックス番号指定する時は大カッコ[] (久々の登場)
配列の末尾に値追加する時は$name[] ='〇〇'; 大カッコにして追加
11.連想配列
配列が連想する、ということで、値にキーと呼ばれるものが紐づく。値についた何かを連想するのか。
やりかたはアロー関数表示使って、array ('name' => 'わんこ',) を一組として、arrayの中に入れていく。矢を何本も束ねて入れる感じ。
値を取り出すときは、変数にキーを入れる。echo $name['キー']みたいな感じ。配列の時は大かっこ使う。キーは文字通り呼び起こす為のKeyになっている。キーはコーテーションで囲むの忘れない。
連想配列に何かを追加する時には、値を取りだす時と同じ形(配列の中にキーがある状態)にして追加したい値を書く $name['キー'] = '値';
演習 分からなくて答え見る。$scores = arrayするときに、$scoresには大カッコいらない。最初はいらないのね。
値を足す時の表記 $scores['国語']+=5; よく意味が理解できないが、+=としてしまえば、とりあえず、その横の値を足せるようになっているらしい。調べてみるとどうやら複合演算子と呼ばれるものだった。素直に$scores['国語']=$scores['国語']+5;が思い浮かばなかったので反省
12. for文繰り返し
for( 初期化 ; ループ条件 ; 変数の更新条件) → for ($i =1; $i < 100; $i++){命令文}という書き方
演習 : echo '<br>';で改行 ;忘れない
13. While文
$i =1 (初期化) その後、while (ループ条件){命令文;変数の更新} → while ($i <100){echo $i;$i++;}みたいな書き方。for文と違うのか、初期化を中で出来ないのと、その後の書き方が処理の流れ(最初にループ条件を違反していないか判断し、命令してから数を増やす)になっている。感覚的には理解できるが。ループ条件と命令だけ請け負うよ!というスタンスか。
変数の更新入れ忘れると無限ループするので注意。思考でよく無限ループしてしまうのは、止める為の変数が無いからか・・。
演習は答え見ずに解けた!while文の中にif文入れるとプログラムっぽくて楽しい。
学習範囲 : PHP 学習レッスンI 8 ~14
勉強時間 : 45分(14:04~ 14:30/16:15~ 16:35)
備考メモ : 2回やっても忘れているところは忘れいている。人は忘れる生き物(個人差有り)なので、繰り返しやって、理解を深めよう。