Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

PHPの基礎

More than 1 year has passed since last update.

はじめに

最近、phpの勉強をしています。progateでphpの学習を一通り終えましたが、あまり理解できていなかったので、記事にして、覚えにくかった場所を自分なりにまとめてみようと思います。
基本のきの部分ですので、phpこれから勉強しようかなと思われている方の役に立てばと思います。

配列

sample.php
ノーマルの配列
<?php 
    //$scoresという配列を定義
    $scores = array('70', '90', '80');
    //$colorsの一番目の要素を出力
    echo $scores[0]; //結果、70を出力
    //$scoresに要素を追加
    $scores[] = '100'; 
    //$scoresに追加した要素を出力 
    echo $scores[3]; //結果、100を出力
?>
連想配列(要素にインデックス以外にキーを持たせる)
<?php 
    //$scoresという連想配列を定義
    $scores = array('数学' => '70', '英語' => '90', '国語' => '80');
    //インデックスではなくキーで要素を出力 
    echo $scores['英語']; //結果、90を出力
    //国語(80)に5を足し合わせる
    $scores['国語'] += 5;
    echo $scores['国語'];//結果、85を出力
?>

繰り返し(ループ)処理

for文

sample.php
<?php
    for(初期値を定義; ループの条件; 変数の更新){
      繰り返す処理;
    }
?>
例文
<?php
    //1~100までの数字を出力させる。
    for($i = 1; $i <= 100; $i ++){
      echo $i.'<br>'; //'<br>'は、改行を意味する
    }
?>

while文

sample.php
<?php
    初期値を定義;
    while(ループの条件){
     繰り返す処理;
     変数の更新;
    }
?>
例文
<?php
    //2~100までの数字で2の倍数のみを出力させる。
    $i = 2;
    while($i <=100){
      echo $i.'<br>';
      $i +=2;
    }
?>

break文(ループを強制的に中断する)

sample.php
<?php
    //1~5までの数字を出力させる。
    for($i = 1; $i <= 10; $i ++){
      if($i > 5){
        break; //$iの値が6になった時点でループを強制的に中断する命令
      }
      echo $i;
    }
?>

continue文(ある条件だけスキップし、ループそのものは継続)

sample.php
<?php
    //3の倍数以外の数字(100まで)を出力させる。
    for($i = 1; $i <= 100; $i ++){
      if($i % 3 == 0){
        continue; //$iの値が3の倍数になった時だけスキップ ループそのものは、継続
      }
      echo $i;
    }
?>

foreach文

sample.php
<?php
    配列の定義;
    foreach(配列もしくは連想配列 as 値変数){
      繰り返す処理;
    }
?>
例文
<?php
    //配列$dataを定義
    $data = array('東京','大阪','名古屋');
    //先頭のデータから順に繰り返し出力させる。
    foreach($data as $value){
      echo $value; //結果、東京、大阪、名古屋を出力
    }
?>

関数

代表的な関数

sample.php
strlen-要素の文字数を数える
<?php
    //変数$strを定義
    $str = 'hello';
    //変数$strの文字数を出力
    echo strlen($str); //結果、5を出力
?>
count-配列の要素の数を数える
<?php
    //配列$arrayを定義
    $array = array('HTML', 'CSS', 'PHP');
    //変数$arrayの要素数を出力
    echo count($array); //結果、3を出力
?>
rand-ランダムな整数を出力
<?php
    //10~15のランダムな整数を出力
    echo rand(10,15); //結果、12を出力
?>

自作の関数

sample.php
シンプルな関数
<?php
    function $関数名(){
     処理;
    }
?>
例文
<?php
    //関数hello()を定義
    function hello(){
     echo' Hello, world';
    }
    //関数hello()を呼び出す
    hello(); //結果、Hello, worldを出力
?>
戻り値と引数を用いて
<?php
    function 関数名(引数){
     return 処理;
    }
?>
例文
<?php
    //関数getCircleArea()を定義
    function getCircleArea($radius){
      return $radius * $radius * 3; //今回は、5 * 5 * 3になってます。
    }   
    //関数getCircleArea()を呼び出し、$circleAreaに代入
    $circleArea = getCircleArea(5); 
    //$circleAreaを出力
    echo $circleArea; //結果、75を出力
?>

最後に

今回は、構文ばっかり並べてみました。まとめながら書くことは、頭の整理に繋がり、いい感じです。
理解が遅いので早く理解できるようになりたいです。
また、早くLaravel習得してポートフォリオを作成できたらと思います。
この記事を見ておかしいんじゃないのとかありましたらどんどん指摘してください、よろしくお願いします。

yukimuneee
年齢23歳。娘ふたりの父親。 大阪府東大阪市在住。近畿大学を中退。 社内システムのSE
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away