PHPマスター

プログラム言語の勉強はPHPからスタート!

Browsing Posts tagged for

PHPに限らずプログラムを組む場合、文字列検索をする場合が非常に多いことに気づきます。任意のファイルから入力された文字列を検索して表示するという処理が最も一般的でしょう。

アルゴリズム
1) 任意のファイルを配列に格納
2) 1行ずつ文字列が存在するかチェック
3) 文字列見つかったらその1行を配列へ格納
4) 最期に見つけてきた行を格納した配列を表示

使う関数
file, for, strpos, preg_match

■strposを使った文字検索

<?php
$str = "test";
$mystr = "This is a test.";
if(strpos($mystr, $str) > -1) { print "ari"; }
else { print "nasi"; }
?>

■preg_matchを使った文字検索

<?php
$str = "test";
$mystr = "This is a test.";
if(preg_match("/$str/", $mystr)) { print "ari"; }
else { print "nasi"; }
?>

では、特定のファイルを開いて、任意の文字列が含まれているかチェックし、含まれていたらその行を表示してみましょう。
continue reading…

スクリプトの中で、同じ処理を繰り返す「ループ」は単独で利用されたり、「条件分岐」と併用して利用されることもあります。ループはPHPスクリプト中で、非常に多く利用される「制御構文」の1つです。

例えば日曜日から土曜日までを表示させる場合、print文やecho文を7つ書いても良いのですが、カッコイイプログラムにしたいのであれば、事前に用意した曜日の配列を用意して、その配列をループさせ、順に表示させてしまいましょう!、という時に使います。ループにより、プログラム自体をスッキリさせることができます。

ループ ~ 繰り返し処理

PHPでは、ループを構成する4種類の制御構文が用意されています。4つあるとどれを利用すべきか迷うかもしれませんが、この場合はコレ!という明確な用途はありません。どんなスクリプト言語でも同じで、判断にはある程度の慣れが必要です。

while構文
ループを制御する最もシンプルな構文が「while」です。whileは、その繰り返しのコードを実行する前に条件式を評価し、その式が満たされればループを抜けます。同時に、その式が最初から満たさなければ、ループを実行することがありません。
以下は、while構文の基本的な形です。
  while (式) {
     処理スクリプト
 }
while構文は、if構文に似ており、式を評価してから、中カッコ[ ~ ] のブロックを実行します。言い換えれば、式にある条件を満たすことができなければ、ループを実行させることができません。
<?php
    $a = 0;
    $hai = array("HTML","XHTML","XML","JavaScript","PHP");
      while($a < 4) {
        print($hai[$a]). "\n";
        $a++;
      }
?>
この while構文の条件式は、変数$a の値が4を超えたときにループから抜けるように設定されています。このスクリプトでは配列で定義された5つのインデックスのうち、4つまでを Webブラウザに出力しています。

実際には次のような処理がされています。

  1. 1回目のループ: $a は 0 だから処理をする。処理結果 $hai[0]を表示する。$aの値を1増やす。
  2. 2回目のループ: $a は 1 だから処理をする。処理結果 $hai[1]を表示する。$aの値を1増やす。
  3. 3回目のループ: $a は 2 だから処理をする。処理結果 $hai[2]を表示する。$aの値を1増やす。
  4. 4回目のループ: $a は 3だから処理をする。処理結果 $hai[3]を表示する。$aの値を1増やす。
  5. 5回目のループ: $a は 4だから処理をせず、ループを抜ける

continue reading…

Powered by WordPress Web Design by SRS Solutions © 2018 PHPマスター Design by SRS Solutions