SSブログ

PHPの続き(配列から関数まで) [プログラミング]

PHPお勉強の続き。基本的にここを見てやっている。

https://www.scollabo.com/banban/php/index.html

ここからね。

https://www.scollabo.com/banban/php/php_05.html

配列は要素番号を入れない変数にどんどん代入すると、キューのように入れていってくれるのか。他の言語では要素を追加するのには、関数とか必要な事があるので書き方が簡易的でいいのかも知れない。

array( )でいっぺんに詰められるので、最初に用意する時はこれを使うのが普通なんだろう。
$hoge = array("HTML", "XHTML", "XML", "XSLT", "RSS");


hoge[1]で"XHTML"が出てくるので、普通の言語らしく0から始まりなのはわかった。array()で生成されたものを受け取る変数には別に[ ]とかは必要ないみたいだ。


explode( )関数はCSVみたいな区切り文字が入っているのを配列に突っ込む事ができるみたいだ。使いどころはまだわからないけど、使いやすそうな関数ではある。POSTで送ってこられた区切りデータを処理するとかに使えるんかな、よくしらんけど。


連想配列も使える。まぁ最近の言語はみんな使えるけど。
"Apple" => "りんご"
と => で表現するのも一般的なのかな。

配列だと添字を使って、while文で全体にアクセスできるんだけど、連想配列だとlist( )とeach( )を使うそうだ。each( )で連想配列の中身を一組ずつ出して、list( )で受けてkeyとvalueを分ける事ができる。ちょっとだけ面倒かな。





算術演算子は、+ - * / % で普通。
比較演算子も普通。ただ ≠ は != と <> と二種類使える。<>って他にVBくらいじゃないっけ…。

C言語みたいに += ++ -- が使える。これは言語によって使えたり使えなかったりするが。.= で連結代入ってのもできる。文字列を後ろにくっつける時に使うんだろう。

論理演算子もC言語と同じで、&&, ||, ! が使えるとともに、and, or と英文字も使える。xorもある。





文字列はダブルクォーテーションでもシングルクォーテーションでもいいのは他の言語と同じ。ダブルクォーテーションの中では、特定文字はエスケープしないといけないのも同じ。まぁ特筆することもないかな。

<<< でヒアドキュメントができるようなので、長い文はこれで行けそうだが、出力するならHTMLにそのまま書いた方がいいだろう。

文字列の連結は、ピリオドか + でできると書いてあるけど、例の文字列の最初が数字の場合、+だと数値の計算をしてしまうこともあるので、ピリオドで連結するのがいいのかも知れない。ただPerlみたいで気持ち悪いのはご愛嬌というところ。


文字列の部分的な置換は str_replace( )で
str_replace("置換対象の文字列","置換する文字列","最初の文字列");

とすればいいらしい。引数の位置さえ間違えなければ問題なさそう。






ループは while と for があって、書き方もC言語とかと同じっぽい。これはそんなに気にする必要はないかな。do whileもあった。ループを抜けるのにbreak文もあった。配列も連想配列があるので、foreachも存在する。

foreach( 配列 as $key => $value) { 処理スクリプト }


でforとlist()とeach()を使わなくても簡易的に書ける。


条件分岐は if とか else とか elseifがある。基本的にC言語の同じのようだ。
switch文もC言語と同じで、caseごとに抜けないのでbreak文で明示的に抜けないと下の文を実行してしまう。というか、意図的に下の文を実行するのにfallthroughとか使うのは最近の言語か。






組み込み関数は色々あって順次覚えていくんだけど、自分で作ることもできる。

function 関数名() {
  処理に必要なプログラム
}

で、関数名は変数名と同じ規則で名前をつけられる。

引数の値渡しと参照渡しがある。それはC言語とかと同じである。まぁ変数が関数内で変更されるかされないかの話である。

function hoge($a) {


で普通に値渡しで、

function hoge(&$a) {


で参照渡しされる。ポインタみたいに渡し方によって関数の中身の書き方が変わるということはないようだ。

function hoge($a = 1) {


でデフォルトの値を設定することもできるらしい。



やめればいいのにオブジェクト指向まで使えるらしいw。長くなったので次に回そう。ということで続く。

タグ:PHP
コメント(0) 
共通テーマ:パソコン・インターネット

Twitterまとめ投稿 2019/11/28 [Twitter]


コメント(0)