LoginSignup
0
0

More than 3 years have passed since last update.

PHPの覚書

Last updated at Posted at 2020-06-03

PHP学習の覚書

連想配列について

連想配列は何層にもできる
test.php
$array_promise_member = [
  'human'=>[
    'Emma' =>[
      'sex' =>'woman',
      'plant' => 'three',
      'age' => 11
    ],
    'Ray' =>[
      'sex' =>'men',
      'plant' => 'three',
      'age' => 12
    ],
    'Noman' =>[
      'sex' =>'woman',
      'plant' => 'three',
      'age' => 11
    ],
  ],
  'monster' =>[
    'Sonju' =>[
      'sex' =>'men',
      'age' => null,
    ],
    'anokata' =>[
      'sex' =>'men',
      'age' => null,
    ]
  ]
];

//連想配列の呼び出し方
echo $array_promise_member['human']['Emma']['age'];
//11


Var_dump()

変数の内容を確認できる
echo '<pre>';
var_dump($array_promise_member);
echo '<pre>';
//echo '<pre>';を上下につけると見やすくなる

改行方法

. PHP_EOL ,EOT,eho '<br>'

ifを使うときのテクニック

elseを使うと可読性が下がるので

$here = 'farm';
if($here ==='farm'){
  echo '脱獄';
}else{
  echo'stay ease';
}

こう書き換える

if($here === 'farm'){
  echo '脱獄';
}

if($here !=='farm'){
  echo 'stay ease';
} 

データが入ってるかどうかの判定

isset / empty / is_null

データベースからデータを取ってきたときにデータが入っているかどうかを確かめる


$test='1';

//empty構文を使った場合
if(!empty($test)){
  echo '変数は空ではありません';
}
//変数は空ではありません

三項演算子

if else -> 条件 ? true : false


$rank = '特上';

$command = $rank === '特上' ? 'catch! Don't kiII' : 'KiII them';

echo $command;

foreachについて

多次元配列のforeach

  $members = [
    'Emma' =>[
      'kind' =>'human',
      'plant' => 'three',
      'age' => 11
    ],
    'Ray' =>[
      'kind' =>'human',
      'plant' => 'three',
      'age' => 12
    ],
    'Noman' =>[
      'kind' =>'human',
      'plant' => 'three',
      'age' => 11
    ]
  ];


//
foreach ($members as $member1) {
  foreach ($member1 as $member) {
    echo $member;
    echo '<br>';

  //キーも取りたい時は
foreach ($members as $member1) {
  foreach ($member1 as $member => $value) {
    echo $member . 'は' . $value . 'です。' ;
    echo '<br>';
  }
}

等号記号について

===か==か

PHPはどちらも使えるが、
== 型が違っても等しい
=== 型も等しい

となる。
例えば

$string_num = '10';//文字列

if($string_num == 10){//数値
  echo '等しい';
}
//等しい

となってしまう。

$string_num = '10';//文字列

if($string_num === 10){//数値
  echo '等しい';
}
//error

※switchの場合は、デフォルトだと==になってしまうので

$string_num = '10'

switch($string_num){
 case $string_num === 10:
  echo '等しい';
 case....

と書くことで厳密なチェックができるが
書き方が複雑になってしまうので
なるベくswitchを使わずifを使う

よく使う関数

文字列関数

参考:図解でわかるPHP関数一覧
http://html2php.starrypages.net/php/array-funcs

外部ファイルの読み込み

requireとinclude

require・・・ファイルの読み込みに失敗するとエラーになる
include・・・ファイルの読み込みに失敗すると警告が出る

<?php

require 'ファイル名';

//外部ファイルの関数や変数が使える

現在のファイルの絶対パスを表示させるマジック定数

main.php
echo __DIR__;

//  ~/~/~/main.php

外部ファイルを絶対パスで読み込みたい時は

main.php
require __DIR__ . '~/~/~/○○.php';

として読み込むことが出来る

0
0
0

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
0
0