プログラミング php

#2

PHP : htmlの中に直接埋め込んで書くことができる。

<?php 開始タグ
?> 終了タグ
echo 文字列を出力する
”文字列”ダブルクォーテーションで囲む
; セミコロン 分の区切り
// 1行コメント
# 1行コメント
/* */ 複数行コメント

#4

変数 : データにつけるラベル
データ型
-文字列 string
-数値 integer float (整数、浮動小数点数
-論理値 boolean / true false
-配列
-オブジェクト
-null

PHP終了タグ
?> そのあとに何かを出力する必要がなければ、省略することが推奨されている

$変数名
= データを割り当てる。右辺を左辺に代入するという意味。(右辺が左辺と等しいという意味ではない)
代入演算子
例)$msg =
var_dump($); データ(変数)の型と値を教えてくれる

 

#5

定数 :変更されない値につけるラベル

define("定数名","値");

定数名は慣習的にすべて大文字を使う

定数は変更されない値なので新しい値を=でつけようとしても

エラーになる

var_dump(___LINE___); 現在の行数を出力

var_dump(___FILE___); ファイル名を出力

var_dump(___DIR___); ディレクトリ名を出力

 

#6

数値型の演算

+ - * / %(割った余り) **(べき乗)

例) $x = 10 % 3;

    $y = 30.2 / 4;

var_dump($x);

 

単項演算子 ++(1を足す) --(1を引く)

$x ++;

 

代入を伴う演算子

$x = 5;

$x = $x +2; → $x += 2;と表現できる

+に限らず- * / %にも使える

 

#7

文字列を扱う
""(ダブルクォーテーション)特殊文字(\n)改行(\t)タブ、変数の展開ができる
''(シングルクォーテーション) できない

{$変数}
${変数}
{}で変数だとわかりやすくするために囲う

文字列の連結は.を使う
$s = "hello" . "world" ;

 

#8

if 条件分岐
if(条件A){
条件が真の時に行う処理
} elseif(条件B){
Aは偽だがBは真のときに行う処理
} else {
偽の場合の処理
}
比較演算子
> より大きい
< より小さい
>= 以上
<= 以下
== ~と等しい、値の比較
=== ~と等しい、値とデータの型の比較
!= 等しくない、値の比較のみ
!== 等しくない、値と型の比較

論理演算子
and &&
or ||
not !

 

#9

真偽値

falseになる場合
文字列:空,0
数値:0,0.0
論理値: false
配列:要素の数が0
null

if(x){
echo "";
}
xが0でないとき、実行される
(x == true)と同じ

三項演算子
例)
$max = ($a > $b)? $a : $b;
条件が真のときa,偽のときbをmaxに代入しなさいという意味

if($a>$b){
$max=$a;
} else {
$max=$b;
}

 

#10

 

switch 条件分岐
変数がとりうる値があらかじめいくつか決まっていて
それに対して処理を振り分けたい場合にすっきり書く
signalがとりうる値 case文で書く caseの処理を終えるとき break
どれにも当てはまらない場合 default

例)
switch($signal){
case"red":
echo"stop!";
break;
case"blue":
case"green": 条件がblue もしくはgreenの場合という意味になる
echo"go!";
break;
case"yellow":
echo"caution!";
break;
default:
echo"wrong signal"
break;
}

#11

 

ループ処理 (繰り返し処理)

while

do...while

 

例)

①判定位置が前

$i = 0;

while($i < 10){

 echo $i;

 $i++;

}

 

⓶判定位置が後ろ

do{

 echo $i;

 $i++;

}while($i<10);

 

iが10より大きい場合、①では何も処理されない。⓶では1度だけ処理される。

#12

 

ループ処理 for
break: ループを抜ける
continue: それ以降の処理を実行せずに次のループに移る

for(1.ループが始まる前の初期化処理 2.ループが終わる条件 3.ループの処理が終わるごとに行う条件){
echo$
}

例)
for($i =0; $i <10; $i++){
if($ === 5){
break;
}
echo $i;
}
i=5のときにループを抜けるので0~4まで表示

for($i =0; $i <10; $i++){
if($ === 5){
continue;
}
echo $i;
}
i=5だけ処理が実行されない

#13

 

配列
keyとvalueがペアになったデータ構造

array

例)
$sales = array(
"apple" => 200,
"banana" => 300,
"orange" => 600,
);

リンゴ200個、バナナ300個、オレンジ600個

array()は[]で表せる
$sales = [
"apple" => 200,
"banana" => 300,
"orange" => 600,
];

var_dump($sales["apple"]);
$sales["apple"] = 300; と書き換えもOK

・keyは省略することもできる
省略した場合、0,1,2と0からの連番となる。

例)
$colors = ["red", "blue", "pink"];
var_dump($colors[1]);
red = 0
blue = 1
pink = 2

#14

 

foreach : 配列の内容をループ処理で取り出せる

foreach ($sales as $key => $value){
echo"($key)$value";
}

foreach($colors as $value){
echo"$value";
}

foreach if while for コロン構文

foreach($colors as $value):
echo"$value";
endforeach;

{}を: end~;に変えることもできる
→HTMLに埋め込むときにすっきり書ける

<ul>
<?php foreach($colors as $ value): ?>
<li><?php echo "$value"; ?><li>
<?php endforeach; ?>
</ul>

#15

 

関数 似たような処理を纏めて登録したいとき
function 関数名(){
まとめておきたい処理
}

function sayHi(){
echo"hi!";
}

呼び出すとき
sayHi();

関数の実行値に引数というデータを指定することもできる
function sayHi($name = "tanaka"){
echo"hi!". $name;
}
引数は,(カンマ)区切りでいくつでも登録できる

引数に初期値を与えることもできる
引数に指定を与えなかったときは初期値が表示される

sayHi("Tom");
sayHi(); → tanaka

関数から返り値をもらうことも可能
return: その時点で関数の処理を終了させつつ、呼び出しをもとに値を返す

function sayHi($name = "tanaka"){
return"hi!". $name;
}

例)
$s = sayHi();
var_dump($s);

#16

 

関数内で定義した変数はその関数内でのみ有効

1.

function sayHi($name){

 $lang = "php";

 echo "hi! $name from $lang";

}

 

$langは上記関数内でのみ有効となる

関数外で

var_dump($lang); としても、何も出ない。

 

2.

$ lang = "ruby";

function sayHi($name){

 $lang = "php";

 echo "hi! $name from $lang";

}

$langは上記関数内でのみ有効となる

var_dump($lang);とすると、rubyと出力される。

 

#17

ceil(); 小数点以下を切り上げる

$x = 5.6;

echo ceil($x); //6
floor(); 小数点以下を切り捨てる

$x = 5.6;

echo floor($x); //5
round(); 四捨五入をする

$x = 5.6;

echo floor($x); //6
rand(); 乱数を生成する

echo rand(1,10); 1~10までの適当な数字をランダムに表示
strlen(); 文字列のバイト数を数える(半角1文字、全角2文字)

mb_strlen();文字列の文字数を数える(半角も全角も1文字)
printf(); 書式を指定して値を表示する

$s1 ="hello";

$s2 ="ねこ";

printf("%s - %s - %.3f" , $s1, $s2, $x);

%s char * 文字列を入力する

%f float 実数を入力する.数字…小数第何位まで表示するかという指定
count(); 要素の数を数える

implode(); 配列の要素を区切り文字で連結し、文字列にして返す
$colors = ["red", "blue", "pink"];

echo count($colors);

echo implode("@", $colors);