PHP工房トップ

HOME > PHPの基礎の基礎

PHPの基礎の基礎

ここでは本当の基礎の基礎のみです。それもすべての基礎を網羅しているわけではありませんので、悪しからずご了承下さい。きっかけ程度、または配布中プログラムのカスタマイズの参考になればとの思いで書いてます。

このページを開いたということは少なくとも少しはPHPに興味があるのでしょう。
PHP・・・プログラム・・・なんだか難しそう・・・そう感じているかもしれません・・・。
結論から言うと、そこまで難しくはありません。ある程度ならだれでもできるようになります。
ただし、それなりの時間と根性は必要と思います。またHTMLと比較すると難しいのも事実です。

自分は数学が苦手・・・自分は文系だし・・・。関係ありません。
私は大学は文系でしかも中退ですから(笑)数学も算数以外はきれいにすべて忘れてます。
計算なんて大した計算はしないです。ほとんどの場合、足し算、引き算くらいです。

たとえば自動販売機の仕組みがなんとなくイメージ出来ればOKです。
それがプログラムを理解する上で非常に身近で、かつイメージしやすいと思います。

確かにHTMLやCSSを比べるとややこしいのは事実です。
なぜならHTMLなどとは根本的に違うからです。

HTML=単に表示する
プログラム=計算や変換など様々な条件に応じて処理を行い、処理結果に応じて値を返したりHTMLを表示したりする。

自動販売機を思い浮かべると分かりやすいかもしれません。
自動販売機そのもの = HTML
内部の処理 = PHPなどのプログラム

たとえばジュースはそれぞれ値段が決まってますよね。
120円のものは当然100円では買えません。120円入れて初めて買えます。また120円以上入れても買うことができます。その場合、お釣りを返します。

PHPで書くとこんな感じ。以降簡単に説明します。

<?php
$tounyu_kingaku = 100; //投入金額を変数にセット
$juice_nedan = 120; //ジュースの値段を変数にセット

//ジュースの値段と投入金額を比較演算子を使って比較します。
if($tounyu_kingaku >= $juice_nedan) {
echo 'ジュースを出す';
}else{
echo '投入金額が足りないです';
exit(); //処理を強制終了させる関数
}
//お釣りを計算してあれば出す
$oturi = $tounyu_kingaku - $juice_nedan;//お釣りを計算
if($oturi > 0){
echo $oturi ;//お釣りがあれば金額を出す
}
?>

>=や!=などは比較演算子と呼ばれます。以下で説明しています。

まずは基本的なところから。配布中のプログラムでも使用していますので、変更の際などに参考ください。

PHPを書く

ファイルの拡張子は「.php」になります。通常のホームページのファイルは.htmlであることがほとんどですが、 これを.phpにすることでphpファイルとして認識されます。
phpファイルとして認識されると、<?php ~?>の部分がPHPとして動作します。
逆にそれ以外の部分は普通のHTMLとして認識されます。
要するに、phpファイルはあくまでPHPが書けるのであって、通常のHTMLファイルとなんら変わりません。
当然、PHPを書かなくてもOKです。

試しに現在のサイトのindex.htmlをindex.phpに変更してアップロードしてみて下さい。ブラウザで見るとなんら変わらないことが確認できます。ただし、サーバーがphpに対応している必要があります。が、世にあるレンタルサーバーであればほぼ100%対応しています。が、無料のサーバー等ではほとんど対応していませんのでご注意下さい。

また重要なポイントとして、htmlファイルであればローカル(自分のPC)上でそのままブラウザで見れますが、phpファイルはそのままではブラウザで見ることはできません。
配布されているプログラムであれば設定変更程度なので、毎回サーバーにアップして確認するということも有りですが、自分でプログラムを作る場合などは頻繁に「変更」→「ブラウザ」で確認の作業が発生するため、作業効率は非常に悪くなってしまいます。

ローカルPHPを動かすためにPHP(Apache)のインストールが必要です。でもこれも簡単に導入出来ます。
XAMPPと呼ばれるPHP環境を自分のPCに構築するためのフリーウェアです。余計な設定は不要でインストールするだけです。簡単なインストール、表示方法を以下に記します。詳細は割愛しますが、検索すればたくさん出てきます。

XAMPPの簡単な導入手順
自分のPCのCドライブ直下にインストール→C直下にできたXAMPPフォルダ→htdocsフォルダ内にサイトのデータフォルダ(今回は例として「hp」フォルダ)を入れる。
XAMPPフォルダ内の
「xampp-control.exe」をダブルクリックでXAMPPを起動します。
(もし「ERROR: XAMPP Control Panel is already running」と出た場合はすでに起動していますので、デスクトップの右下にオレンジ色の「X」と書かれたアイコンが出ているはずです。それが出てれば起動済)

XAMPPのコントロールパネルを開き、「Apache」のところの「START」を押します。これでPHPが動作するようになります。

あとはブラウザで localhost/hp/○○.htmlまたは○○.php でアクセスすれば表示されるはずです。
要するにlocalhost/がhtdocs内を見てるということになります。

話がそれましたが、PHPの書き方は
<?php ここにPHP ?>
<?php から ?>までがPHPとして認識されます。
「<?php」をショートコード「<?」と書くこともできますが、 php.iniの設定変更が必要な場合もあるため、本来使うべきではありません。別に大した違いじゃないですし、かっこいいとも思いませんよね(笑)。。。他の人のコードを見ることがあると思うので、こういうのがあるということだけは知っておきましょう。

コメント化(無効化)

HTML、CSSをはじめあらゆるプログラム言語でもコメント化は存在します。
当サイトで配布しているプログラムでも日本語のコメントなどを書いています。

以下3パターンあります。

// ・・・これを書いた行の行末までがコメント扱いとなります。

例1. $abc = 'あいうえお';//コメントです。
例2.//コメントです。
この場合、「コメントです。」部分がコメント化(無効化)されます。

# ・・・これを書いた行の行末までがコメント扱いとなります。

上記の「//」と同じです。

/*~*/ ・・・複数行にわたってコメント化できます。

CSSのコメント方法と同じです。

例1.
/*
コメントです。
コメントです。
*/
複数行に渡る場合に主に使います。

条件分岐について

条件によって処理内容を変更することができます。PHPに限らずプログラムでは必須の処理です
ifは文字通り「もし~だったら」ですね。
else は逆に「そうじゃなかったら」ですね。

具体的には、以下のような書式で条件分岐を行います。

  
if (条件1) {
  条件1に一致した場合に実行する(TRUEの場合の処理) 
} elseif (条件2) {
  条件1に一致せず、条件2に一致した場合に実行する
} else {
  条件1と条件2の両方に一致しなかった場合に実行する(FALSEの場合の処理)
}

もちろんこれら3つが必須では無く、ifだけでもOKです。elseだけというのは無いです。
その場合、条件に一致した場合のみ処理され、そうじゃなければ何も起こらないということになります。

その他swich分などもありますが、やりたいこと、やることは同じです。
まずは特に覚える必要は無いでしょう。自分もほぼ使ってません。
逆に条件分岐はこのif分だけですべて片付きます。必要に応じてswichなども検討すればOKです。

変数

どのプログラミング言語でもこの「変数」は存在しますので、名前ぐらいは聞いたことがあるかもしれません。
よく物を入れる箱のようなものと言われますが、まさにそんな感じです。ここの「物」は実際には文字列や数値などです。

変数は必ず$マークから始まります。
例 $hensuu
変数名に日本語は使えません。半角英数字、アンダーバー「_」が使えます。

<?php
$hensuu = '変数です';
?>

「=」は代入を表します。この場合、変数$hensuuに文字列「変数です」を代入させています。
文字列(全角文字)は必ずシングルクォーテーション、またはダブルクオーテーションで囲む必要があります。
また、処理の最後尾には必ずセミコロン「;」が必要です。

これだけではなにも起こりません。変数に代入しただけだからです。

ブラウザに出力(表示)する

これを出力させるには
echo、またはprintを使います。
例 
<?php
echo $hensuu;
?>

でブラウザには「変数です」と表示されます。
echo、printはどちらでも構いませんが、PHPではechoが多数派と言われます。
厳密には若干違いもありますが、意識することはないでしょう。

またショートコードでechoを省略した
<?= $hensuu;?>
と書くこともできますが、前述のとおり使うべきではありません。たまに使う人がいるので知ってはおきましょう。
そういう方には「かっこいいすね!」と言ってあげましょう。

日本語などの文字列を出力する場合は、シングルクォーテーション「'」、またはダブルクオーテーション「"」で囲む必要があります。
echo ’変数です’;
また、HTMLタグを出力する際にも同じくシングルクォーテーション、またはダブルクオーテーションで囲む必要があります。
シングルクォーテーション、ダブルクオーテーションにはそれぞれ違いありますので、注意が必要です。し、とても大事なことなので、覚えておきましょう。

シングルクォーテーション = 変数は展開(変数に代入されたものが表示)されない
ダブルクオーテーション = 変数は展開(変数に代入されたものが表示)される

echo $hensuu;

echo "$hensuu";
は同じで「変数です」と表示されますが、
echo '$hensuu';
とすると変数が展開されないため、「$hensuu」と表示されます。

問題になりやすいのがHTMLを出力する際です。なぜならHTMLの属性にダブルクオーテーションが使われるからです。

echo "<p class="text">{$hensuu}<p>";
※変数をダブルクオーテーションで囲む場合には変数を{}で囲みます。囲まなくても問題無いことが多いですが、どこまでが変数名なのかを明示的に示すことで無用なエラーなどが起きませんので囲んでおきましょう。
この場合、一見問題無さそうですが、エラーとなり、画面にはエラーしか表示されません
ダブルクオーテーションの中にダブルクオーテーションがあるためPHPが解釈できずにエラーとなります。
ではシングルクォーテーションではどうでしょうか。
echo '<p class="text">$hensuu<p>';
一見これで良さそうですが、シングルクォーテーション内では変数が展開されないため期待通りの表示がされません。

ではどうするか。いくつか方法があります。

・ダブルクオーテーション内のダブルクオーテーションにエスケープ文字「¥」マークを付ける。
echo "<p class=\"text\">{$hensuu}<p>";
これで問題なく表示されます。ただ、コードの可読性、メンテナンス性などを考慮すると必ずしもこれが正解とは言えないかもしれません。なぜなら間違って「¥」マークを消してしまうとエラーになってしまい何も表示されません。

・シングルクォーテーションと文字列の結合「.」を複数使い、変数をシングルクォーテーションで囲まないようにする。
echo '<p class="text">'.$hensuu.'<p>';
これも問題なく表示されます。ただこれも正直可読性が良いとは言えません。長めのHTMLで変数も複数になるとさらに読みにくくなります。

・HTMLの属性の値をシングルクォーテーションで囲んでしまう。
echo "<p class='text'>{$hensuu}<p>";
これも問題ありません。ただ、シングルクォーテーションで囲むことが今後のHTMLでも使用可能かどうかわかりません。まぁたぶん大丈夫と思いますが。しかし、一般的にはダブルクオーテーションで囲むことがほとんどなので、これもあまり良い方法とは言えないかもしれませんね。

・ヒアドキュメントを使う(変数は必ず{}で囲む必要があります)
(ちょっと一見特殊な書き方です。HTML~HTML;までの間に記述します。HTMLの書き方そのままのルールで記述でき、かつ変数も展開するので一見これが最強?と感じます。)
echo <<<HTML
<p class="text">{$hensuu}<p>
HTML;

これで問題なく表示されます。ただ、上下に記述が増えてしまいます。このHTML部はアルファベットであれば何でもOKです。が、EOFやEOL、HTMLなどが使われることが多いです。また、HTML;の前には空白スペースがあっては行けません。なので、インデントができません。

・変数の箇所のみPHPタグで囲み出力する(多数派と思われ)
<p class="text"><?php echo $hensuu;?><p>
これも問題なく表示されます。ただ、変数箇所が多いとその分記述が増えるのが難点でもあります。が、この書き方がおそらく一番多いと思われます。

う~ん、で?結局どれを使えばいいねんw。となるのですが、正直自分にもどれが最適なのか分かりません(笑)
いろいろな人のコードを見て来ましたが、書く人によって異なるというのが現状かと思います。
会社によってはコーディング規約などで決まってることもあるでしょう。
ただ、最後のものが多いかなと思います。

自分の場合、ちょっとした出力(タグ1つとか)であれば
最後の変数箇所のみphpタグで囲む。
記述が長い場合には「ヒアドキュメントを使う」にすることが多いです。
どれを使うにしろ書き方は統一するのが良いでしょう。

その他PHPでインデントのためにタブスペースや半角スペースを多く使いますが、全角文字(スペース含む)は絶対に書いてはいけません。PHPエラーになります。
特に全角スペースは一見気づきにくいので注意が必要です。エラーが治らない・・・と思ったら全角スペースが入っていたなんて初めのころはよくやります。 スペースは必ず半角スペース(またはタブ)です。
コードの可読性のためにもインデントは入れることをおすすめします。
自分はHTMLの場合はあえてインデントさせず左寄せにしていますが、プログラムを書く場合はインデントを入れてます。入れ子が複雑になると分けわからなくなることもあります。
ちなみにDWには「カッコ内を選択する」という便利な機能が付いてます。この(から)はどのif文のものかなどが一発で分かります。

賛否あるかと思いますが、個人的にHTMLには別に必要無いと考えています。制作会社である以上プロなんだから見りゃわかるでしょ的な。また、インデント方法を統一するのも難しいなどがあります。DWの「ソースフォーマットの適用」で一発で入れることもできますが。

配列

一つの変数に複数の値を持たせたい場合に使います。これもよく使います。
$hensuu[0] = '変数1です';
$hensuu[1] = '変数2です';

変数名の後に添字(キー)を記述します。
この場合、
echo $hensuu[1];
とした場合、「変数2です」が表示されます。
またこの添字(キー)は省力出来ます。(というか省力することがほとんどですが)
その場合、0からの連番で自動付与されます。
$hensuu[] = '変数1です';
$hensuu[] = '変数2です';

とした場合、
echo $hensuu[1];
で同じく「変数2です」が表示されます。

ただ、この指定方法だと多くなった場合には記述が増え面倒です。
$hensuu[]= '変数1です';
$hensuu[] = '変数2です';
$hensuu[] = '変数3です';

・・・
そこでarray関数というのを使います。
$hensuu = array('変数1です','変数2です','変数3です');
左から順番に添字(キー)が付与されますので、これで
echo $hensuu[1];
で同じく「変数2です」が表示されます。

なぜ配列をわざわざ使うのか。
これは配列で書いたほうがコードを少なくできるからに尽きるでしょう。

たとえばフォームなどでよく都道府県のプルダウンを使うことはあるでしょう。
ここではすべて書くと大変なので、東北6県だけにします。

変数も何もPHP自体使わない場合

<select name="都道府県">
<option value="青森県">青森県</option>
<option value="岩手県">岩手県</option>
<option value="秋田県">秋田県</option>
<option value="宮城県">宮城県</option>
<option value="山形県">山形県</option>
<option value="福島県">福島県</option>
</select>

まぁこうなります。当然47都道府県あればその分必要になります。

変数を使い配列を使わない場合。

<?php
//配列に県名を入れる
$aomori = '青森県';
$iwate = '岩手県';
$akita = '秋田県';
$miyagi = '宮城県';
$yamagata = '山形県';
$hukusima = '福島県';
?>
<select name="都道府県">
<option value="<php echo $aomori;?>"><php echo $aomori;?></option>
<option value="<php echo $iwate;?>"><php echo $iwate;?></option>
<option value="<php echo $akita;?>"><php echo $akita;?></option>
<option value="<php echo $miyagi;?>"><php echo $miyagi;?></option>
<option value="<php echo $yamagata ;?>"><php echo $yamagata;?></option>
<option value="<php echo $hukusima;?>"><php echo $hukusima;?></option>
</select>

なんか気づきませんか?PHP自体使わない場合と記述量は一緒ですね・・・。
いや、変数を定義している分増えてしまっています。当然47都道府県あればその分増えることになります。
もちろん万が一「青森県」が県名が変わって「緑森県」になった場合、直す箇所は一箇所で済みますので、
やらないよりはましかもしれませんが・・・。

配列を使った場合

<select name="都道府県">
<?php
//配列に県名を入れる
$kenmei = array('青森県','岩手県','秋田県','宮城県','山形県','福島県');
//配列の数だけループする
foreach($kenmei as $val) {
//出力する(「”」内にタグの属性「”」を書く場合はその前にエスケープ処理「¥」マークが必要です)
echo "<option value=\"{$val}\">{$val}</option>";
}
?>
</select>

たったこれだけで済みます。コメントを書いているので多く見えますが、4行で済みます。
foreachはループ処理です。配列の数だけ自動で添字(キー)0から順番にループしますので、配列ループ時にはよく使います。asの後の$valに配列の各要素が順番に代入されますので、青森県、岩手県・・・と表示されます。
同じくループ処理に使われるfor文があります。こちらは聞いたことがあるかもしれません。
これでも書くことができますが、配列のループの場合はforeachのほうが手っ取り早いです。

for文で書く場合

<select name="都道府県">
<?php
//配列に県名を入れる
$kenmei = array('青森県','岩手県','秋田県','宮城県','山形県','福島県');
for($i=0;$i<count($kenmei);$i++) {
//出力する(「”」内にタグの属性「”」を書く場合はその前にエスケープ処理「¥」マークが必要です)
echo "<option value=\"{$kenmei[$i]}\">{$kenmei[$i]}</option>";
}
?>
</select>


countは文字通りカウントする関数です。この場合、変数の数を数えています。

配列の詳細については以下マニュアル等を参考下さい。
http://php.net/manual/ja/language.types.array.php

定数

定数とは、変数と似ていますが、変数は上書きできるが、定数は一度定義したらその値は変わらないという特徴があります。PHPでは、定数を定義するために、define()関数を使い、定数名とその値を引数とします。以下が定数を定義するための公式です。

define("定数名", "値");
例 define("hensuu", "変数だよ");

変数の場合、
$hensuu = '変数だよ';
$hensuu = '変だよ';
とした場合、後に読み込まれる「変だよ」が代入されますが、
定数の場合はこれができません(しても無効です)。これが大きな違いです。

ただ、とりあえず定数は使わずともOKです。
なぜならすべて変数で指定してまえるからです。
また、配布中のプログラムでも定数は一度も使ってません。すべて変数にしていますが、
設定箇所の変数の値は変化しませんので、定数で定義してもいいでしょう。
実務では定数を使うことがありますが、個人的にはコードの可読性なども含め、必須とは考えてません。
変数は先頭にドルマーク「$」がつきますが、定数の場合付きませんので、一見すると関数と区別しづらいという点があります。

ただ、他の人のコードなどを見る際などのために、または今後のためにもこういうのがあるということは知っておく必要があります。

関数

PHPは関数で作ると言ってもいいでしょう。実際には主に関数、変数、条件分岐からなります。

関数名(引数);
の形で記述します。
例 メールを送信するための関数(mail関数)
mail($to,$subject,$body,$header);

PHPは、あらかじめ1000以上にも及ぶ「関数」が定義されています。これを使ってプログラムを組んでいくことになります。ただ、実際すべて覚える必要は無く、実際によく使う関数は限られています。

たとえば文字の置換用の関数:str_replace('変換前の文字列','変換後の文字列','変換元の文字列');
使用例
$honbun = 'テストです';
$hensuu = str_replace('テスト','本番',$honbun);

//文字列はシングルクォーテーション(またはダブルクオーテーション)で必ず囲みます
echo $hensuu;

とした場合、「本番です」と表示されます。
この「引数」の順番、数は決まっていますので、ちゃんと決まりに沿って記述する必要があります。
この場合、「php str_replace」で検索すればマニュアルページがありますのでそちらで確認して下さい。

PHPにあらかじめ組み込まれている関数については、以下のサイトなんかが参考になります。
http://www.scollabo.com/banban/php/reference.html

また、「PHP逆引きレシピ」という本がすごく良いです。必携の書と言っても良いかもしれません。

演算子

計算を行うための記述です。

演算子 意味 例示 機能
+ 加算 12 + 5 2つ以上の値の足し算を行う
- 減算 12 - 5 2つ以上の値の引き算を行う
* 乗算 12 * 5 2つ以上の値の掛け算を行う
/ 乗算 12 / 5 2つ以上の値の割り算を行う
% 剰余 12 % 5 割り算したときの割り切れなかった数を求める

比較演算子

これもとにかく必須です。必ず使います。

if($tounyu_kingaku >= $juice_nedan)
でジュースの値段と投入金額を比較しています。
この場合、投入金額がジュースの値段以上であれば~という条件分岐です。

比較演算子
名前 結果
$a == $b 等しい 型の相互変換をした後で $a が $b に等しい時に TRUE
$a === $b 等しい $a が $b に等しく、および同じ型である場合に TRUE
$a != $b 等しくない 型の相互変換をした後で $a が $b に等しくない場合に TRUE
$a <> $b 等しくない 型の相互変換をした後で $a が $b に等しくない場合に TRUE
$a !== $b 等しくない $a が $b と等しくないか、同じ型でない場合に TRUE
$a < $b より少ない $a が $b より少ない時に TRUE
$a > $b より多い $a が $b より多い時に TRUE
$a <= $b より少ないか等しい $a が $b より少ないか等しい時に TRUE
$a >= $b より多いか等しい $a が $b より多いか等しい時に TRUE

学習方法について

まぁちょっとでも興味が湧いたのなら脈有りです。鉄は熱いうちに打て。
amazonなんかで入門書を買って挑戦してみましょう。きっかけさえ掴めれば楽しく覚えられるようになります。
あとはとにかく作りたいものを作る!それでそれに必要なものを覚えていくというやり方でOKです。
それが一番モチベーションを維持できる方法だと思います。
本の通りにただやってても面白くないし、応用ができない・・・で終わってしまいます。

PHPを使うと普段何気なくやっているルーティン作業なども自動化できたり、CMS化することで作業効率が極端に良くなったりととにかく便利なことが多いので、モチベーション維持には事欠きません。

私は10冊程度PHPに関する本を買って挑戦しましたが、正直ほぼすべてよく分からず途中で挫折でした。

それでたまたまPHP+MySQLを使ったCMS化を多く行う会社に就職し、そのCMSを自分の管理サイトに応用してみたのがきっかけです。そうです、はじめはパクリですw。それをこうしたい、こうなったときはこうしたい、これも自動化できるか?などなど、やってるうちに気がつけばそこそこ分かるようになっていきました。

なので、まず入門は本から始めるとしても、あとはとにかく作りたいものを作ってみる。これに尽きます。
作りたいものはなんでもOKですが、どうせなら既存のサイトに組み込めて作業効率が上がるもの(CMSなど)がお勧めです。モチベーションも維持出来ます。

私が初めにCMS化を行ったサイトは以下のキックボクシングのジムです。今は引っ越したためやってませんが、その当時通っていたジムのサイトです。
このサイトの選手のページが頻繁に増えたり、辞めてしまって削除したり、また、プロフィールの更新あったりと、なんとか自動化できないかなぁと思ったのがきっかけです。
それで現在では選手ページの更新を私は一切行なっていません。ブラウザ上ですべて完結できる形にしましたので、ジムの担当者の方が更新しています。
これをきっかけにニュースやお知らせなどもCMS化していき、今ではサイトの半分程度のページをCMS化しています。

参考サイト
http://www.muay-thai-pck.com/

とにかくPHPを覚えると良いことづくめです。もちろん多少時間はかかりますが、それだけの価値があります。
ぜひトライしてみてください。

おすすめの書籍について。
本には当たり外れが非常に多いのでAmazonなどではレビューなどを参考に購入されることをおすすめします。
また、入門書なのにちょっと小難しいことが出てきたりすることもあります。特にテンプレートエンジンやPEAR、フレームワークなどのキーワードはとりあえずは必要ありませんので、そういった内容があるものは避けましょう。(多少入っているかもしれませんが無視でOKです)
いずれ必要になる(というか覚えたくなるか職場で必要になる)かもしれませんが、無くてもひと通りのものはなんでも作れてしまいます。「そういうあれこれやらせようとする本が多いから挫折する人が多いんだよ」と声を大にして言いたいです(笑)。逆に私が本を出したら売れるんじゃ?と感じてます。気が向いたら出してみるかもしれませんw

その中でも特におすすめというか、必携と言える書籍は「PHP逆引きレシピ」です。非常に有名な本なので、知ってる方もいるかもしれませんが、この本ではだいぶスキルアップできました。というかこの本が無ければ今の自分は無いかもしれません(笑) 今でもちょくちょく開いています。
PHP 逆引きレシピ (PROGRAMMER'S RECiPE)

どちらかと言うと辞書的な本なので、これプラス入門書などが良いかと思います。
あとはGoogle先生もかなり役に立ちます。

とにかくまずはすべての関数を覚えようとはせず、何ができるのかを知ることが一番です。
なぜなら覚えることが多すぎるからです。頻繁に使うもの以外は自分も覚えてません。
あぁそういえばこんなことできる関数あったなぁ・・・→検索→解決となります。

みなさまのご検討をお祈りいたします。

PHPメールフォーム(無料版)

PHPメールフォーム(有料版)

新着情報・更新履歴CMS(無料版)

投票・アンケートシステム(無料版)

テロップCMS(無料版)

写真ギャラリーCMS(無料版)

営業日カレンダーCMS(無料版)

営業日カレンダーCMS(有料版)

カレンダー予約フォーム(無料版)

カレンダー予約フォーム(有料版)

リンク集ページCMS(無料版)

アクセスカウンター(無料版)

ダウンロードカウンター(無料版)

その他

メールフォームの各種カスタマイズならお任せ下さい
業務効率化が可能なPHPオリジナルCMS制作します

役立つかも?なもの

豆知識や役立ち事など

PHPについて

各種情報