LoginSignup
42
45

More than 5 years have passed since last update.

phpの基本文法

Last updated at Posted at 2017-06-21
  • 試す環境を作る
  • 書き方
  • ループ文
  • callable

などについて。

試す環境を作る

とりあえず作りたいときは *.php ファイルを作る。

書き方

<?php

echo "hello;

echo は「出力する」

改行したいとき

PHP_EOL を使う。

実行

ターミナルで以下のようにしてファイル内のphpが実行される。

php hoge.php

デバッグ

var_dump $hoge;

変数

$hoge のように $ を使う。

名前の付け方

  • キャメルケース $thisIsAPen
  • スネークケース $this_is_a_pen

どちらでも良いが、統一すること。

phpでは文字列が使える。

基本的な型

phpは変数の中にどんな型でも入れることができる。
型名は大文字・小文字を統一すること。

$hoge = 123;
$hoge = "123";
$hoge = true;
$hoge = false;
$hoge = NULL;

ので、どの型なのかをちゃんとチェックしておくこと。

配列

リスト配列

keyが一致してないと(下記の場合だと[4]とか)Exceptionが吐き出される。

$array = array("lemon", "apple", "banana");
echo $array[1] . PHP_EOL;

連想配列

他の言語で言うところのマップ。

$array = array(
    "lemon" => "yellow",
    "apple" => "red",
    "banana" => "yellow",
);

メジャーな配列の書き方

array() は少し古い。
今は [] を使うのが主流。

$array = [
    "lemon" => "yellow",
    "apple" => "red",
    "banana" => "yellow",
];

配列の結合

前にある方が優先される。

array_merge

この時は後の配列が優先される。

配列を削除

$user = [
    "0" => "Tom",
    "1" => "Katy",
    "2" => "Jim",
    "3" => "Mary",
];

について

unset($user[1]);

こうすることで連想配列の key1 のものが削除される。

注意点

[1] のものが削除されたからといって、 key は繰り上がらないことに注意。

$user = [
    "0" => "Tom",
    "2" => "Jim",
    "3" => "Mary",
];

結合

phpではあまり結合演算子を使わない。
変数を使用する。

<?php

$name = "Tom";

$string = "Hello World, $name!";

echo $string . PHP_EOL;

クォーテーション

"" だと変数だと認識、 '' だと文字列だと認識されてしまう。

複雑な変数の場合

  • 変数のすぐ後ろに文字列をつけたい
  • 連想配列を使いたい

というときに関しては {} で囲ってあげることで変数を認識してもらえるようになる。

<?php

$name = "Tom";

$string = "Hello World, {$name}さん";

echo $string . PHP_EOL;
$string = "Hello World, {$name[1]}さん";

echo $string . PHP_EOL;

コード規約・コメント

開始 {} は落とす、のが標準的な規約。
コメントは //## が使えるが、 // が一般的。
その他規約については PSR で検索。

public function hoge()
{
    //
    ##
}

ループ文

if

hoge.php
<?php
$hoge = 1;

if($hoge){
    echo "trueです。------------------" . PHP_EOL;
}else{
    echo "falseです。■■■■■■■■■■■■■■■■■" . PHP_EOL;

値が○○のとき

123のとき

true

0のとき

false

["hoge"]のとき

true

[]のとき

false

イコール の使い方

厳格な検証 ===

hoge.php
<?php
$hoge = "124";

$piyo = 124;

if($hoge === $piyo){
    echo "trueです。------------------" . PHP_EOL;
}else{
    echo "falseです。■■■■■■■■■■■■■■■■■" . PHP_EOL;

結果

false

ゆるやかな検証 ==

「だいたい一緒」という感じの検証となる。
できるだけ上記の === を使うほうがよい。

hoge.php
<?php
$hoge = "";

$piyo = 0;

if($hoge == $piyo){
    echo "trueです。------------------" . PHP_EOL;
}else{
    echo "falseです。■■■■■■■■■■■■■■■■■" . PHP_EOL;

結果

true

= を使う場合

「代入する」の意味。

foreach

hoge.php
<?php
$list = ["apple", "lemon", "banana"];

foreach ( $list as $key=> $value ) {
    echo "({$key}){$value}" . PHP_EOL ;
    if($key === 1 ){
        break;
    }
}

foreach を使ってるからといって 必ずしも配列ではない ということに注意。
オブジェクトだって回せる。

for

hoge.php
<?php
$list = ["apple", "lemon", "banana"];

foreach ( $list as $key=> $value ) {
    for($i = 0; $i < 3; $i++){
        echo "({$key}){$value}" . PHP_EOL ;
        if($key === 1 ){
            break;
        }
    }
}

callable

関数を実行する関数。

hoge.php

$sayHello = function(){
    echo "hello {$name}" . PHP_EOL;
};

call_user_func($sayHello, "Tom");
call_user_func($sayHello, "Bob");
42
45
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
45