- 演算子 -
♣計算方法
$a = 10;
$b = "30abc";
$c = "abc30";
$d = "30abc5";
$ke1 = $a * $b;
$ke2 = $a * $c;
$ke3 = $a * $d;
print "$ke1\n";
print "$ke2\n";
print "$ke3";
-------------------------------------------------
<<結果>>
300
0
300
変数には文字も入れられるので、数字と文字の合さった変数を計算する場合は、初めの文字が数字ならその数字と計算($b)
数字が文字の後ろなら($c)0を返す。10*0になる。
最初と最後に数字がある場合は($d)、最初の数字と計算される。 後の数字は無視される。
♣文字列比較演算子
◆ASCllコード(アスキーコード)
コンピューターでは文字をそのまま文字として扱う事が出来ないので、それぞれ0〜127の番号に対応させて文字を管理している。 この対応表をASCllコード表と言う。
| 数値 | 文字列 | 使い方 | 意味 |
|---|---|---|---|
| == | eq | $a == $b | aとbは等しい |
| < | lt | $a < $b | aはbより小さい |
| > | gt | $a > $b | aはbより大きい |
| <= | le | $a <= $b | aはb以下 |
| >= | ge | $a > $b | aはb以上 |
| != | ne | $a != $b | aとbは等しくない |
| <=> | cmp | $a <=> $b | aがbより小さければ-1 aとbが等しければ0 aがbより大きければ1 |
※数値同士を比較する場合は、「数値」の方を。文字列の比較には「文字」の方を使用する。
♣その他の演算子
◆条件演算子
条件演算子「?:」は条件式の値により、2つのうちどちらかを選択する。
$a = 10;
$b = 20;
($a < $b) ? print "そうです\n": print "違います\n";
$c = ($a < $b) ? "合っています\n":"間違っています\n"; #変数に代入する場合
print $c;
-----------------------------------
<<結果>>
そうです
合っています #結果は同じ
◆範囲演算子
範囲演算子「..」は左側の値から右側の値までを、1つずつ増やした値の集まりです。 値には、半角英数字の数値、または文字列が指定出来ます。
print a..z;
print 0..9;
-----------------------------------
<<結果>>
abcdefghijklmnopqrstuvwxyz0123456789
♣連結演算子
◆. 文字列と文字列を連結させる
$a = "lemon";
$b = "tea";
$c = $a . $b;
print "$c\n";
-----------------------------------
<<結果>>
lemontea
◆.= 右辺値を左辺値の文末に追加
$a = "arram";
print "$a\n";
$a .= "txt"; #今変数に入っているarramの末尾にさらに、文字列"txt"を追加する
print "$a\n";
-----------------------------------
<<結果>>
arram
arramtxt
♣データの追加と削除
◆データの追加
%a = ("動物:"=>"猫 ","名前:"=>"タマ ");
print %a,"\n";
$a{"種類:"} = "シャム "; #%から$に変える{}
print %a;
-----------------------------------
<<結果>>
名前:タマ 動物:猫
名前:タマ 動物:猫 種類:シャム #追加された
※キーだけを追加する事はできない
◆データの削除
連想配列のキーと値を削除するのには、delete関数を使う
%a = ("動物:"=>"猫 ","名前:"=>"タマ ");
print %a,"\n";
delete $a{"動物:"};
print %a;
-----------------------------------
<<結果>>
名前:タマ 動物:猫
名前:タマ #動物:猫が削除された