PHP

忘れがちなPHP

■ PHPタグ

<?php
echo "スクリプト記述";
?>     

■ 文字列操作

出力 : echo/print

echo "Message";
echo "Message1<br>", "Message2";
print "Message";

連結

echo "Message1"."Message2";

■ 変数

名称
integer 整数型
float/double 浮動小数点型
boolean 論理型
string 文字列型
array 配列型
object オブジェクト型
callback コールバック型
NULL NULL型

キャスト

書式 キャスト後の型
(int) 整数型
(float) 浮動小数点型
(double) 浮動小数点型
(bool) 論理型
(string) 文字列型
(array) 配列型
(object) オブジェクト型

型の判定

書式 判定の型
is_int 整数型
is_float 浮動小数点型
is_double 浮動小数点型
is_bool 論理型
is_string 文字列型
is_array 配列型
is_object オブジェクト型

スーパーグローバル変数

名称 内容
$_REQUEST リクエストパラメータ取得
$_SESSION セッション情報取得
$_COOKIE クッキー取得

■ 定数

定義済み定数

定数名 意味
__LINE__ 行番号
__FILE__ ファイル名
__FUNCTION__ 関数名
__DIR__ ディレクトリ名
__CLASS__ クラス名
__METHOD__ クラスのメソッド名

オブジェクト定数

const VAL = 1;
echo VAL;

define

define ("VAL1", 1000);
define ("VAL2", 100 * 100);
echo VAL1."<br>";  // 1000
echo VAL2;         // 10000

■ 配列

$array_test = array("A", "B", "C");
echo $array_test[0];

■ 連想配列

$array_test = array("A"=>"a", "B"=>"b", "C"=>"c");
echo $array_test["A"];

■ 演算子

算術演算子

演算子 意味
+ 加算
- 減算
* 乗算
/ 除算
% 剰余
** 累乗

複合演算子

演算子 意味
+= 加算して代入
-= 除算して代入
*= 乗算して代入
/= 除算して代入
**= 累乗して代入

比較演算子

演算子 意味
A == B AとBは等しい
A != B AとBは等しくない
A > 0 Aは0より大きい
A < 0 Aは0より小さい
A <= 0 Aは0以下
A >= 0 Aは0以上

論理演算子

演算子 意味
&& (and) 論理積
|| (or) 論理和
! (not) 否定
xor 排他的論理和

三項演算子

$cnt = 0;
echo ($cnt == 0) ? "値は0です": "値は0以外です";

エラー制御演算子

@print (100 / 0);

■ 繰り返し

foreach

$array_test = array("A"=>"a", "B"=>"b", "C"=>"c");
foreach($array_test as $val){
  echo $val."<br>";
}

for

$array_test = array("A", "B", "C");
for($cnt = 0; $cnt < 3; $cnt++){
  echo $array_test[$cnt]."<br>";
}

while

$cnt = 0;
while($cnt < 10){
  echo $cnt;
  $cnt++;
}

do while

$cnt = 0;
do{
  echo $cnt;
  $cnt++;
}while($cnt < 10);

■ 条件分岐

if

if ($answer == 0){
  echo "答えは0です";
}
else if ($answer == 1){
  echo "答えは1です";
}
else{
  echo "答えは0, 1以外です";
}

switch

switch($answer){
case 0:
  echo "答えは0です";
  break;
case 1:
  echo "答えは1です";
  break;
default:
  echo "答えは0, 1以外です";
}

■ 関数

関数定義

function test($input0, $input1, &$val){
  echo $input0 . $input1."<br>";
  $val = 100;
  return "OK"."<br>";
}

$cnt = 0;
echo test("test", "実行", $cnt);
echo $cnt; // 100

■ スクリプトファイル読み込み

require

読み込み失敗時に停止
require 'require/input1.php';
require_once 'require/input2.php'; # 重複読み込みなし

include

読み込み失敗時に続行
include 'include/input1.php';
include_once 'include/input2.php'; # 重複読み込みなし

■ ファイル操作

ファイル読み込み

$file = fopen("test.txt", "r");
while(!feof($file)){
  $line = fgets($file);
  echo $line."<br>";
}
fclose($file);

ファイル書き込み

$file = fopen("test.txt", "w");
fputs($file, "test");
fclose($file);

■ フォルダ操作

フォルダ作成

mkdir("test");

フォルダ有無確認

if (file_exists("test"))
{
  echo "フォルダは存在します";
}
else
{
  mkdir("test");
}

■ 日時表示

タイムゾーン設定

date_default_timezone_set('Japan');

日時表示

echo date('Y/m/d'); # 2018/01/02

■ 入力データの受け取り

input.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="output.php" method="post">
<input type="test" name="input">
<input type="submit" value="OK">
</form>
</body>
</html>
output.php
<?php
  echo $_REQUEST['input'];
?>

■ ヒアドキュメント構文

echo <<<EOD
Message1
Message2
EOD;

■ コメント

// comment
/* comment */
#  comment