【php】if文の使いこなし

2020/06/10 20:11 その他::技術情報

PHP の if 文

基本

if 文の形式
if ( 判定式 ) {
 ~
} elseif ( 判定式 ) {
 ~
} else {
 ~
}
この使い方の elseif は else if と分けて書いても良い。
if ( 判定式 ) {
 ~
} else if ( 判定式 ) {
 ~
} else {
 ~
}
大かっこを使わずに記述する方法もある。
if ( 判定式 ):
 ~
elseif ( 判定式 ):
 ~
else:
 ~
endif;
この使い方の elseif は else if と分けて書くとエラーになる。
サンプル
<php
  if ( $a == $b ) {
    print("$a ({$a}) と $b ({$b}) は、同じ");
  } elseif ( $a > $b ) {
    print("$a ({$a}) は $b ({$b}) より大きい");
  } else {
    print("その他");
  }
?>
<?php
$a = 1;
$b = 3;
 
if( $a == 1 or $b == 1 ){
  echo '$aか$bのどちらかが1である。';
}
?>

凡例

条件指定

実際に使ってみたものをリストする。

変数を確認したいときは https://www.php.net/manual/ja/ref.var.php を参照する。

否定 は ! で行える。
整数の「0」や空文字「""」、未定義の変数などは FALSE として判定
isset()
変数が存在するかどうかを判定する。

存在し、Null 以外なら True
それ以外が False
empty()
変数の中身が空であるかどうかを判定する。
$Var = $_GET[xxx];

if ( empty($Var) ) {
  // (Null 以外の) 空なら True
} else {
  // なにか入っていれば False
}
$Var = $_GET[xxx];

if ( ! empty($Var) ) {
  // なにか入っていれば
} else {
  // (Null 以外の) 空
}
testhttp://ttm.jimba.ddo.jp/adiary.cgi/teraterm/index/macro/sample/login
testaa
testhttp://ttm.jimba.ddo.jp/adiary.cgi/teraterm/index/macro/sample/login#bb
test\#bb

【php】シェルスクリプトとの比較

2020/05/17 14:40 その他::技術情報

php と、シェルスクリプトとの比較

shebang

mariaDB と連携させているからか、shebang は意識しなくてよかった。

php ファイルの中で、実行させたいコードは次の様に埋め込む.
<?php
 ~処理を書く~
?>
<<

** 変数


シェルスクリプトだと、変数を入れるときは文字列に指定するのだけれど、PHP では変数として代入可能。

>|php|
$var1 = "";
$var2 = $var1;
あと、print 文の中で使うときは大かっこで括れる。
print "変数 $var は {$var} です。";
……読んでいて、耳の後ろあたりがぞわぞわする。

【mariaDB】コマンドチートシート2 ユーザ操作

2020/05/18 03:24 その他::技術情報

mariaDB

> mysql -u root -p
password: *****

ユーザ一覧

> select user,host from mysql.user;

ユーザー作成

> create user 'username'@'hostname' identified by 'passwd';
> show grants for 'username'@'hostname';

権限付与

ユーザがなければ自動的に作る。

フルコントロール権限
> grant all privileges on `***_database`.* to 'username'@'hostname' identified by 'passwd';
> show grants for 'username'@'hostname';
テーブル操作権限
> grant select,update,insert,delete on `***_database`.* to 'username'@'hostname' identified by 'passwd';
> show grants for 'username'@'hostname';

権限削除

> revoke delete on `***_database`.`***_table` from 'username'@'hostname';
> flush privileges;

パスワード変更

> set password for 'username'@'hostname'=password('password');

ユーザー削除

> drop user 'username'@'%';