PHP基本書き方

PHP

今回はPHP基本の書き方を紹介します。

PHPタグ

PHPコードを書く前に、PHPタグを書かなければならない。以下の3種類があります。

<?php
    $aa=’sdf’;
    echo $aa;
?>
最後まで、PHPコードの場合、終了タグを省略することがおすすめです。
<?php
    $aa=’sdf’;
    echo $aa;
以下のように書きたい場合、php.iniファイルを変更する必要です。
「short_open_tag = on」に変更する

<?
    $aa=’sdf’;
    echo $aa;
?>

コメントアウト

コメントアウトは三つ方法があります。

1行コメントアウト

// コメント
# コメント

複数コメントアウト

/*
* コメント
*/

内容出力

以下の五つ関数があります。

echo:内容を出力する
    echo $var_string;
    echo($var_string);
print:内容を出力し、戻り値があります。1成功
    print $var_string;
    print($var_string);
print_r:配列内容を出力する
    print_r($array);
var_dump:詳細内容を出力する
    var_dump($array);

変数

・PHPの変数は$で始まります。
・最初文字は英文字で
・英文字、数値、「_」を使えます。
・大小文字区別

<?php
    $ab=”this is ab”;
?>

可変変数

変数名を可変にできると便利なことが時々あります。可変変数では、変数 名を動的にセットし使用できます。

<?php
    $ab=”totom”;
    $bb=”ab”;
    echo $$bb; //totomを出力する
?>

参照渡し

参照渡しは、変数のコピーではなく変数のシンボルテーブル上の位置を渡してエイリアスのようにしているようです。すなわち、元の変数が書き換わってしまうようです。

<?php
    $ab=”totom”;

    $bb=$ab;
    $bb=”change”;
    echo $ab . “\n”;   //totomを出力する

    $cc=&$ab;
    $cc=”change2″;
    echo $ab . “\n”;  //change2を出力する
?>

定数

以下の二つ方法があります。
define(定数名, 値, 大小文字区分);
const 定数名=値;

// ①定数定義
define(“FOO”,     “something”);

// 定数利用
echo FOO;

// ②特殊文字で定義
define(‘%-%’, ‘tome’);

// 定数利用
echo constant(‘%-%’);

// ③定義していない場合、定義する
if (!defined(‘FOO’)) define(‘FOO’, “something”)

// ④constで定義
const NAME=”tom”;

ヒアドキュメント

長い文字列を変数に代入する場合は以下のような書式で記述します。

<?php
$変数 = <<<終了の文字列
「文字列を記述」
終了の文字列;
?>

※ 終了の文字列には大文字のアルファベットを使います。よく見かけるのは「EOM」「EOF」「EOD」ですが、「ABC」でも何でも構いません。ちなみに「EOM」は End Of Message、「EOF」は End Of File、「EOD」は End Of Document の略です。
※終了の文字列の前にスペースが存在できない。

配列

// ①インデクス配列
$arr=array(‘tom’,’berry’);

// 使う
echo $arr[0];

// ②配列定義
$arr=[‘aa’,’bb’];

// ③連想配列
$emp=array(‘name’=>’test1’,’age’=>29);

// 使う
echo $emp[‘name’];

// ④php7.1以降の場合
$num1=10;
$num2=20;

[$num1,$num2]=[$num2,$num1]; // 二つ変数の値を交換する

// ⑤文字列を配列として使う(php7.1以降)
echo ‘abc'[0];   // aを出力する
echo ‘abc'[-1];  // cを出力する

エラー制御演算子

PHP はエラー制御演算子(@)をサポートしています。

null合体演算子(php7.0以降)

$username=$name ?? ‘nobody’;   // nobodyを変数に設定する

条件分岐(if)

if (条件) {
    //処理内容
}
if (条件) {
    //処理内容
} else {
    //処理内容
}
if (条件) {
    //処理内容
} elseif (条件) {
    //処理内容
} else {
    //処理内容
}
if(条件):
    //処理内容
elseif(条件):
    //処理内容
else:
    //処理内容
endif

条件分岐(switch)

switch (式) {
    case 定数:
           // 処理内容
          break;
    case 定数:
           // 処理内容
          break;
    default:
        // 処理内容
}
switch (式) :
    case 定数:
           // 処理内容
          break;
    case 定数:
           // 処理内容
          break;
    default:
        // 処理内容
endswith;

ループ(for)

for (初期値;条件;増量) {
    //処理内容
}
for (初期値;条件;増量):
    //処理内容
endfor;

ループ(while)

while(条件) {
    //処理内容
}
while(条件):
    //処理内容
endwhile;

ループ(do…while)

do{
}while(条件)

ループ(foreach)

foreach(配列 as 値) {
    //処理内容
}
foreach(配列 as キー=>値){
    //処理内容
}
foreach(配列 as キー=>値):
    //処理内容
endforeach;
※ループで、break,continueを使えます。

関数

※関数のパラメータはデフォルトが値渡しです。

function 関数名(パラメータ1,パラメータ2) {
    //処理内容
}

参照渡し

参照渡しの場合、以下のように書きます。
function 関数名(&パラメータ1,&パラメータ2) {
    //処理内容
}

パラメータのデフォルト値

function 関数名(パラメータ1,パラメータ2=”初期値”) {
    //処理内容
}

パラメータ取得関数

function fun() {
    func_num_args();  // 個数
    func_get_args();   // 値
}

可変パラメータ

function fun($para1,…$args) {
    //argsは配列
}

パラメータの型の宣言(php.7以降)

※使える「string,int,float,bool,配列(array)」

function fun(string $para1,int para2):int {
    //argsは配列
    return 100;
}

可変関数

function show() {
    echo ‘abc’;
}
$aa=’show’;
$aa();

無名関数

//定義
$fun=function(){
    //処理内容
};
// 実行
$fun();

変数のスコープ

下記のコードではエラーとなります。

<?php
$num=10;
$fun=function(){
    echo $num;  //$numを使えない
};
// 実行
$fun();

$GLOBALSキーワード

<?php
$num=10;
$fun=function(){
    echo $GLOBALS[‘num’];  //10を出力する
};
// 実行
$fun();

globalキーワード

<?php
$num=10;
$fun=function(){
    global $num;
    echo $num;  //10を出力する
};
// 実行
$fun();

staticキーワード

<?php
$fun=function(){
    static $num=10;
    $num++;
    echo $num;
};
// 実行
$fun();  //11を出力する
$fun();  //12を出力する

useキーワード

<?php
$num=10;
$fun=function() use($num) {
    echo $num;
};
// 実行
$fun();  //10

外部ファイル読み込み

require ファイル;
※ファイルが存在しない場合、エラーとなり、後ろのコードが実行されない。
include ファイル;
※ファイルが存在しない場合、ワーニングとなり、後ろのコードが実行されます。
require_once ファイル;
include_once ファイル;
※複数を実行しても、1のみ

エラーログ処理

php.iniファイルに以下の設定ができます。

error_reporting = E_ALL;  #すべてエラー情報処理
display_errors = On;     # エラー情報をブラウザに出力
log_errors = On;  #エラー情報をログファイルに出力
error_log=”;  #エラーログファイルの保存パス

使用例

<?php
$debug=false;
ini_set(‘error_reporting’,E_ALL);
if($debug){
    ini_set(‘display_errors’,’on’);
    ini_set(‘log_errors’,’off’);
}else{
    ini_set(‘display_errors’,’off’);
    ini_set(‘log_errors’,’on’);
}
タイトルとURLをコピーしました