副業で稼ぐ仕組みの作り方

PHPでechoとprintの違いについて

PHPの初心者で必ず気になるのがechoとprintの違いだと思います。

はじめに

PHPを勉強中、気になったのがechoとprintの違いです。サイトによってはprintを使っていたり、echoを使っていたりしたので、結局どちらを使えば良いのかわかりませんでした。

echoとprintを出力してみる

echo 'あいうえお';
print 'あいうえお';

この2つはどちらも「あいうえお」と出力されます。ただし、文字を連結させる時に違いが出てきます。

echo 'あいうえお'.'かきくけこ','さしすせそ';
print 'あいうえお'.'かきくけこ'.'さしすせそ';

文字列の連携の場合

  • echoは「(.)ドットと(,)カンマ」どちらでも使える
  • printは「(.)ドット」しか使えない

って事はechoのがechoで連結する際に.(ドット)と,(カンマ)の違いについてからしたら相性よさそうですね。
関数を使う場合も同じです。

$aiueo = 'あいうえお';
$kaiueo ='かきくけこ';
$saiueo ='さしすせそ';

echo $aiueo.$kaiueo,$saiueo;
print $aiueo.$kaiueo.$saiueo;

逆にprintを使う時のポイントは何だだろうと思い、調べてみました。

printには戻り値がある

printには戻り値があるって色々なサイトに書かれている。戻り値は「1」がどうたらこうたら・・・
初心者にはこれが何かわからない。笑

逆にこの戻り値を使う時ってどんな時やろうと考えてみた。

戻り値を表示させる?方法

$aiueo = print'あいうえお';
$kaiueo ='かきくけこ';
$saiueo ='さしすせそ';

echo $aiueo.$kaiueo,$saiueo;

$aiueoにprintを加えて出力すると「あいうえお1かきくけこさしすせそ」とあいうえおの後に数字の「1」が表示されます。

この数字が戻り値ってやつです。今知っている知識を使うと

$aiueo = print'あいうえお';
$kaiueo ='かきくけこ';
$saiueo ='さしすせそ';

if ($aiueo == 1) {
echo $aiueo.$kaiueo,$saiueo;
}

こんな感じでif文と組み合わせると使えそうです。

ただ、この内容も意味不明っちゃ意味不明か笑
この戻り値はもっと勉強した先に使い方がわかるはず・・・。
今はここまででとどめておきます。

速度計算

速度については「echo」の方が早いと言われていますが、速度計算をしているサイトは「print」の方が結果早かったと言うデータを出しています。

そこで自分も気になるので調べてみました。

私は「XAMPP」を使っています。これだとレンタルサーバのように環境によって左右されないかなと思ったからです。

XAMPPで処理速度の調べ方

http://localhost/dashboard/phpinfo.php

「XAMPP」をスタートさせた状態で、こちらにアクセスすると現在のバージョンが見ることが出来ます。
私の使用しているバージョンは「PHP Version 7.3.10」です。

$count = 1000000;
 
// echoでの出力
$time_start = microtime(true);
for ($i = 0; $i < $count; $i++) {
    echo $i;
}
$time = microtime(true) - $time_start;
echo '<br>';
echo 'echo:'. $time . ' seconds';
echo '<br>';
 
// printでの出力
$time_start = microtime(true);
for ($i = 0; $i < $count; $i++) {
    print $i;
}
$time = microtime(true) - $time_start;
echo '<br>';
echo 'print:'. $time . ' seconds';

速度計測の情報はこちらのサイトを参考にしました。

速度の結果

一回目 echo:3.4592049121857 seconds
print:29.919713020325 seconds
二回目 echo:4.2808408737183 seconds
print:78.19615316391 seconds
三回目 echo:4.7929420471191 seconds
print:26.51144194603 seconds

結果に違いが出すぎているのでechoとprintを出力する順番を変えてみました。

一回目 print:4.1556191444397 seconds
echo:25.505042076111 seconds
二回目 print:3.7798089981079 seconds
echo:40.960448980331 seconds
三回目 print:0.50496506690979 seconds
echo:79.841722011566 seconds

結果的に最初に出力された方が圧倒的に早くなっているので、最初の数字だけを見比べた結果、特に大きな差はないって事で良いのかな。

さいごに

echoの方が多かった気がする

ワードプレスはコピペであればある程度いじれるのですが、いじっている時もprintよりはechoを使っている人が多かった記憶があります。
どちらでも良いのであればechoをメインに使っていこうかな。

関連記事

  1. FC2のアカウント登録方法

  2. ワードプレスにキーワードとディスクリプションを追加するプラグイン

  3. amazonのインスタントストアのちょっとしたテクニック

  4. ワードプレスでページごとにレイアウトを変える方法

  5. ワードプレスにソースコードを表示させるプラグイン【SyntaxHigh…

  6. メールソフトの設定【サンダーバード】

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

コメントするためには、 ログイン してください。
PAGE TOP