Java使いがPHPを触る(1:宣言と演算子)


これまでJavaを使って10年近く業務を行ってきた。が、ここに来てPHPを学ぼうと思う。いつぞやも書いたかもしれないが、市場にはまだまだPHPの案件は多く、覚えておいて損はない言語だと思われるからだ。とはいえ、学んだこと全てを記述するのはちょっと冗長が過ぎるので、Javaと比較して違うと感じたところのみを羅列する。

だがその前に、別の言語を学ぶ際に気をつけている点を列挙する。

  1. 宣言と演算子
  2. 制御文
  3. 関数(メソッド)

1度はなんかしらの言語を学んだ事があれば、この3つさえ覚えれば明日から新しい言語で書くことはできる。ただし、その言語に最適化されたコーディングはまだできない。

PHPの初心者向けの本とか選ぶと、「for文とはこんな意味です。」みたいなところから始まってめんどくさいんで、この本を買った。これもちょっとは「for文とは」みたいなの書いてあるけど始めてのPHPみたいな本に比べると少ないんでみやすい、かな?

宣言

変数宣言

PHPは静的型付け言語なので、変数宣言には$を使うだけでいい。

$name = "hoge fuga";
$age = 16;

文字列はシングルクォートとダブルクォートのどちらでもよい。ただし挙動が違うので注意が必要。

$age = 16;
echo "$age years old.";    // $ageは解釈されて 16 years old.
echo '$age years old.';    // $ageはそのままで $age years old.

配列の宣言

いろいろ方法があるよう。

$colors = array('green', 'black', 'blue');
echo $colors[0];    // green

$animals[] = 'cat';
$animals[] = 'dog';
$animals[] = 'rat';
echo $animals[2];    // rat


2次元配列もarrayの入れ子で記述可能(同様に3次元も4次元も)。

$ninePuzzle = array(array(1, 3, 5),
                    array(4, 8, 7),
                    array(2, 9, 6));

連想配列

Javascriptにもあるが、Javaで言うところのMapが近い。Key-Valueでの保持。

$fruitsColor = array(
'apple' => 'red',
'peach' => 'pink',
'banana' => 'yellow',
);

「=>」とか実にめんどくさいのである。

$fruitsColor['grape'] = 'purple';

こちらのほうが簡易。

ヒアドキュメント

文字列を記述したままに出力してくれる。

$message = <<<_ENDMSG Hello world. -- Hello PHP. _ENDMSG

こうした場合、改行や2行目のインデントなんかをそのまま出力可能。テンプレートがWYSIWYGになる。

演算子

算術演算子

Javaと同じ(四則演算+剰余)なんでパス。

代入演算子

+=みたいなやつ。1つだけ追加。

.=
文字列を連結して返す

論理演算子

and
&&よりは優先度の低い論理積
or
||よりは優先度の低い論理和。or dieも使えたりする。
xor
排他的論理和。意外と使う。例えば、自宅か携帯番号かどちらかあれば良い場合とか。

変数修飾子

global
諸悪の根源。使わない。
static
Javaと同じ。
const
定数。再代入不可。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です