変数
$list = array(1, 2, 3); //初期設定
$list[0] = 'orange'; //添え字で指定
$list[] = 'orange'; //追加
$list = array(); //空配列の宣言
$list = array('orange' => 'みかん', 'apple' => 'りんご'); //連想配列の宣言
$wk = $list['orange']; //連想配列を取り出す
isset($wk) == true //定義済みか
is_array($list) == true //配列かどうか
$wk = count($list) //配列の数
unset($wk); //破棄
$GLOBALS['SERVER_ID'] //直接グローバル変数を見る
定数
const DB_NAME = "db";
環境
require_once('/common.php');
date_default_timezone_set('Asia/Tokyo');
header("Content-type: text/html; charset=UTF-8"); //ヘッダー出力
日時
$wk = date("Y/m/d H:i:s");
$wk = date("Y/m/d H:i:s", $unix_time); //シリアルから変換
$wk = strtotime('-1 day')
$wk = strtotime('2000-12-31')
$wk = time(); //現在のシリアルタイム(UNIX秒)
$wk = mktime($hour, $min, $sec, $month, $mday, $year); //シリアルを生成
$wk = strtotime("2000/12/31 12:34:56"); //シリアルを生成
$wk = date_diff(new DateTime($start), new DateTime($end))->format('%H:%I:%S'); //時間差
文字列
$wk = substr($str, 5, 10); //5文字目から10文字取り出す、取り出す文字数の指定がない場合は後ろ全部
$wk = mb_substr($str, 10, 5); //10文字目から5文字取り出す
$wk = mb_substr($str, 10, 5, "UTF-8"); //UTF-8として10文字目から5文字取り出す。またはmb_internal_encodingで指定する
$wk = trim($str); //前後の空白を取り除く
$wk = strpos($str, ':', 10); //10文字目以降の:のある場所を探す
$wk = strstr($str, '@'); //@以降の文字列を取り出す
$wk = str_replace('@', '-', $str); //@を-に置換する
$list = explode(":", $str); //:で分割して配列にする
$wk = implode(",", $list); //,で連結して文字列にする
$wk = strlen($str); //文字列の長さ
$wk = sprintf("%04d", $i); //ゼロ詰め
数値
$wk = intval($str); //数値に変換
$wk = intval($str,16); //16進数として変換
$wk = random_int(1, 100) //1から100の乱数、PHP7以降
ファイル
$fp = fopen("data.txt", "r");
while (!feof($fp)) {
$lines[] = fgets($fp); //1行ずつ読み込み
}
fclose($fp);
foreach($lines as $line){
echo $line . '
';
}
$json = file_get_contents('data.json');
$data = json_decode($json, true);
$fp = fopen("data.txt", "w");
fwrite($fp, "abcde");
fclose($fp);
その他
sleep(1); //1秒待つ
usleep(1000000); //1秒待つ//JSON形式
echo json_encode([
"status" => True,
"result" => 'Finished.'
]);
//値が入っているか
if(isset($input_data['id']){
}
filter_input(INPUT_POST, 'btn'); //セキュリティ対策
繰り返し
for($i=0; $i<10; $i++){
}
foreach ($list as $key => $value) { //連想配列ではなく普通の配列の場合はkeyに添え字の番号が入る
break; //ループを抜ける
}
foreach ($list as $value) { //keyが不要な場合
continue; //次のループへ
}
エラー処理
try{
} catch(Exception $ex){
throw $ex;
} finally {
}
関数
public function hogehoge($id, &$str) { //&で参照渡し
global $id;
}
セッション
session_start();//開始
$wk = session_id(); //セッションID
session_destory();//終了
unset($_SESSION['USERDATA']); //部分クリア
$_SESSION = [];// 情報全クリア
クッキー
setcookie("test", $value, time()+3600);
setcookie("test", "", time()-3600); //過去日付をセットすると消える
echo $_COOKIE["test"];
データベース
//DBに接続
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($link==false){
die('DB接続失敗');
}else{
//echo '接続OK';
}
//SELECT
$sql='select * from staff where shopcode=123';
$result = mysqli_query($link, $sql);
while ($row = mysqli_fetch_assoc($result)) {
$staff_data[$row["staffid"]] = $row;
}
//UPDATE INSERT DELETE
$result = mysqli_query($link, $sql);
if($result == true and mysqli_affected_rows($link)>0){
//更新に成功
}elseif(mysqli_errno($link)==0){
//更新に失敗
}else{
//更新に失敗
}
クラスの使い方
実行結果