Robinit

IT関連メモ

PHP 基礎1

PHPはサーバサイド(Webサービス)を開発するのが得意な言語
データベースと連携したり、フォームデータ処理をしたり、
外部APIと連携したり、また自らAPIを公開してオンラインのサービスを作ったり etc..

1992年に開発された言語
現在稼働しているWebサービスのうち約70%がPHPで実装されている
WordpressPHPで実装されている
以下公式サイト
PHP: Hypertext Preprocessor

Hello World with PHP

echoで文字列を出力する

<?php
    echo "Hello World!";
?>

変数と代入

変数は $変数名 で宣言する。
文字列と変数を連結するときは . (コンマ) でつなげる
""(ダブルクォーテーション)に変数を入れるときは変数名を{}で囲む
変数にtrue、falseを代入することでブーリアンとして扱える
以下参考実装

<?php
    $name = "Bob";
    echo "<p>my name is " . $name" . </p>";
    echo "<p>my name is ${name} .</p>";

    $myNumber = 45;
    echo "<p>No: ${myNumber}</p>";

    $calc = $myNumber * 29 - 2 / 2;
    echo "<p>calc ${calc}</p>";

    $myBool  = true;
    echo "<p>Staus is ${myBool} .</p>";
?>

配列

array()関数を使って配列を宣言する
配列を出力する場合は、print_r()関数を利用する
配列のあるメンバにアクセスする場合は echo $配列名[添え字] とする
添え字は値だけでなく文字列も利用できる
配列のサイズを取得する場合は、sizeof($配列名)
配列から特定のメンバを削除する場合は、unset($配列名[添え字])
以下参考実装

<?php
    $myArray = array("Bob","Kate","Tom","Ralph");
    print_r($myArray);
    echo "<br><br>";
    echo $myArray[0];
    echo "<br><br>";
    $yourArray[0] = "piza";
    $yourArray[1] = "chocho";
    $yourArray[3] = "memo";
    print_r($yourArray);
    echo "<br><br>";
    $yourArray["favorite"] = "icecream";
    print_r($yourArray);
    $thirdArray = array("France" => "French",
                       "Japan" => "Japanaese",
                       "USA" => "English");
    echo "<br><br>";
    print_r($thirdArray);
    echo "<br><br>";
    echo sizeof($thirdArray);
    unset($thirdArray["France"]);
    echo "<br><br>";
    echo sizeof($thirdArray);
?>

条件分岐

他言語同様 if 分で条件分岐
&& でAnd 演算子、|| でOr 演算子

<?php
    $role = "admin";
//    $role = "guest";
    $position = "director";
//      $position == "manager"
    if($role == "admin" || $position == "manager" ){
        echo "<p>Log in Success</p>";
    } else{
        echo "<p>Log in Failed</p>";
    }

    if($role == "admin" && $position == "director" ){
        echo "<p>Log in Success</p>";
    } else{
        echo "<p>Log in Failed</p>";
    }
?>

ループ分

他言語同様、ループにforが利用できる
また配列分をループさせる場合はforeachが便利
以下参考実装

<?php
    for($i = 0; $i < 10; $i++){
        echo $i."<br>";
    }

    $family = array("Bob","Tom","Jhon","Paul");
    foreach($family as $key => $value)
    {
        echo $key.":".$value."<br>";
    }
?>

while分も利用できる
以下参考実装

<?php
//配列のメンバ分、ループする
$i = 0;
$family = array("Bob","Tom","Jhon","Paul");
while($i < sizeof($family)){
    echo $family[$i]." ";
    $i++;
}
?>

※無限ループには気を付ける

参考 WebブラウザでPHPのエラーを表示する設定

以下のようなコードを書いてWebブラウザでアクセスする

<?php
    phpinfo(); 
?>

すると以下のような画面が表示される
f:id:wonder_three:20180114233748p:plain

"Loaded Configuration File"に設定ファイルが格納されているので、
php.ini ファイルの display_errors と、error_reporting を、
以下のように更新する

display_errors =  on
error_reporting = E_ALL 

更新した後はWebサーバアプリを再起動する