【 PHP 】PHP8に入門してみた 59日目 PHPの基本 ( 演算子 大きく変わった計算ルール )
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
演算子
代数演算子
文字列の演算
PHP
はバージョン8から文字列が混在した演算が「あるべき姿」になったようです。
私はバージョン8より前(PHP7.4以前
)のことをよく知らないのでここはスルーすることにします😊
どんな挙動になるかだけ確認しておくことにします。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PHPの基本</title>
</head>
<body>
<?php
// print命令は指定された文字列を表示するための命令です。
$msg = 'こんにちは、変数の世界! <br />';
print $msg;
print 'こんにちは、皆さん! ';
print '<br />';
print '108' + '15';
print '<br />';
print '108' + '1.5XYZ';
print '<br />';
print '108' + 'XYZ10'; // ここでエラーが発生して処理が停止します。
print '<br />';
print '108' + '1.5XYZ10';
print '<br />';
print '108' + '1.5E1';
print '<br />';
print '108' + '0b11';
print '<br />';
print '108' + '010';
print '<br />';
print '108' + '0x1A';
?>
</body>
</html>
108 + XYZ10の部分でエラーになっていることが分かります。
該当部分をコメントアウトしてみます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PHPの基本</title>
</head>
<body>
<?php
// print命令は指定された文字列を表示するための命令です。
$msg = 'こんにちは、変数の世界! <br />';
print $msg;
print 'こんにちは、皆さん! ';
print '<br />';
print '108' + '15';
print '<br />';
print '108' + '1.5XYZ';
print '<br />';
// print '108' + 'XYZ10'; // ここでエラーが発生して処理が停止します。
print '<br />';
print '108' + '1.5XYZ10';
print '<br />';
print '108' + '1.5E1';
print '<br />';
print '108' + '0b11';
print '<br />';
print '108' + '010';
print '<br />';
print '108' + '0x1A';
?>
</body>
</html>
一通り実行されたようですが「文字列内に数字以外の文字種」が含まれている場合は警告が出ています。
※ただし指数表現は除きます。
メモ
なぜ文字列なのに数値とみなすのでしょうか。私にとっては最大の謎です🤔
ディスカッション
コメント一覧
まだ、コメントがありません