アラカン"BOKU"のITな日常

文系システムエンジニアの”BOKU”が勉強したこと、経験したこと、日々思うこと。

PHP入門:定数・変数・ユーザ関数・演算子・制御文(if)などの最低限の文法を確認する

PHPがインストールはできました。

 

次は、最低限の文法を押さえておかないと、何もできません。

 

難しいこと・高度なことは後から調べたらどうとでもなります。

 

まずは、最低限、これを知らないとプログラムが書けない・・程度の部分を整理しときます。

 

PHPソースコードをどこに書くか

まず、PHPのプログラムは、拡張子「.php」のテキストファイルに書きます。

 

HTMLのソースに、PHPのソースを追加して、拡張子をphpに変える感じですかね。

 

PHPソースコードは、開始タグ(<?php)と終了タグ(?>)の間に書くことになります。

<?php
// ここにプログラムを書く
?>


この開始タグから終了タグの間以外を、PHPは無視して、そのまま出力します。

 

一つのファイルの中で、HTML記述をはさんで分割して書いたとしてもなんら問題ありません。

 

それどころか、PHP開始タグと終了タグにまたがって、if文をかいても大丈夫なんですね。

 

こんな感じで。

<?php if ($expression == true): ?>
条件式が真の場合にこれが表示されます。
<?php else: ?>
それ以外の場合にこちらが表示されます。
<?php endif; ?>

 

ファイルに分割して書くことも可能です。

 

他のファイルに書いたPHPプログラムをインクルードして、そこで定義した関数などを使うときには、includeします。

 

例えば、db.phpというファイルにDB接続などの使い回しをする部分だけを書いて、ソースの頭の方でincludeすれば、そのファイルの中で定義した関数を使えます。

<?php
    include 'db.php';

    //db.phpの中で定義した関数を使う。
?>

 

基本的な構文

PHPのひとつひとつの命令文(ステートメント)の区切りにはセミコロンをうちます。

session_start();

みたいに。

 

コメントは、C言語JAVAなんかと同じ、/* */(ブロックコメント)と//(行コメント)が使えます。

 

定数


定数は、以下のように定義します。

define("CONST_VALUE","value");

 

定数の名前は、 文字またはアンダースコアで始めます。

 

数字で始めるのはNGです。

 

任意の数の文字、数字、 アンダースコアで構成します。 

 

変数


変数は、$を頭につけて定義します。

 

大文字・小文字は区別します。

 

つまり、以下は別の変数になります。

$val

$Val

 

変数の定義時に型をわざわざ指定する必要はありません。

 

ユーザ定義関数

ユーザ定義関数は、functionをつけます。

function func($argv1,$argv2){

     return argv1.":".$argv2;

}

 

引数はスカラ変数でも、arrayなどでも同じ渡せます。

 

デフォルトは「値渡し」です。

 

結果はreturnで返しても、返さなくても良いです。

 

&を引数につけると「参照渡し」にできます。

function add_some_extra(&$string){
       $string .= 'and something extra.';
}

 

 

よく使う演算子

文字列の連結には「.」を使います。

 

"aaa","bbb","ccc" を連結して、「aaabbbccc」という文字列にするときには、"aaa"."bbb"."ccc" になります。

 

変数への値の代入は「=」です。

$a = 5;

 

次は計算ですね。

  • $a + $b : 足し算
  • $a - $b : 引き算
  • $a * $b : 掛け算
  • $a / $b : 割り算
  • $a % $b : $a を $b で割ったあまり
  • $a ** $b : $a の $b乗

 

まあ、普通です。

 

計算結果の符号は、$aの方を優先します。

 

次は比較演算子です。

 

等しいは2種類あります。

  • $a == $b :等しい時に TRUE。
  • $a === $b :等しいときにTRUE。

==は、型を相互変換であわせた上で比較し、===は、型の自動変換をせず、値と型の両方が一致しているかどうかを見る違いがあります。

 

等しくない・・は3種類あります。

  • $a != $b :等しくない( 型の相互変換あり)
  • $a <> $b :等しくない( 型の相互変換あり)
  • $a !== $b :等しくない(相互変換しません。)

 

大小比較です。

  • $a < $b: $a が $b より少ない時に TRUE。
  • $a > $b : $a が $b より多い時に TRUE。
  • $a <= $b :$a が $b より少ないか等しい時に TRUE。
  • $a >= $b : $a が $b より多いか等しい時に TRUE。

 

論理演算子

 

and演算子は2種類あります。

  • 条件A and 条件B:  条件Aと条件Bが両方満たされる場合にTRUE
  • 条件A && 条件B:  条件Aと条件Bが両方満たされる場合にTRUE

 

or演算子も2種類あります。

  • 条件A or 条件B:  条件Aと条件Bのいずれかの場合にTRUE
  • 条件A || 条件B:  条件Aと条件Bいずれか場合にTRUE

 

ただし、計算の優先順位は、&&と|| の方が高いです。

 

条件の結果を否定する場合は「!」です

  • !条件式: 条件式がTRUEなら、FALSEを返す。

 

配列を結合したり、比較したりもできます。

  • $array_a + $array_b : $arrat_a に $array_bを結合します。

 

2つの配列が等しい・・も2種類あります。

  • $array_a == $array_b :キー/値のペアが等しい
  • $array_a === $array_b :キー/値のペア・・並び順・型全てが等しい

 

2つの配列が等しくない・・は3種類あります。

  • $array_a != $array_b :キー/値のペアが等しくない
  • $array_a <> $array_b :キー/値のペアが等しくない
  • $array_a !== $array_b :キー/値のペア・・並び順・型のどれかが等しくない

あと、演算子ではないですが、非常によく使う(個人的に?)のが、isset()です。

 

変数に値がセットされているかどうかの検査に使います。

 

if (isset($a) {

      // 変数がセットされていて、 NULL でない場合に行う処理

 

制御文

 

if ~ else ~ の制御文の書き方も2種類あります。

 

{} のブロックで囲む場合。

<?php
    if ($a > $b) {
         echo "aはbより大きい";
    } elseif ($a == $b) {
        echo "aはbと等しい";
    } else {
        echo "aはbより小さい";
    }
?>

 

:(コロン)で区切る場合。

if ($a > $b):
    echo $a." is greater than ".$b;
elseif ($a == $b): 
    echo $a." equals ".$b;
else:
     echo $a." is neither greater than or equal to ".$b;
endif;

 

です。

 

うん・・だいぶ、思い出してきました。

 

前の記事

arakan-pgm-ai.hatenablog.com