超絶プログラミング入門とは?
2011年10月11日更新
関数を作る
PHPの関数作成について解説します。
プログラムを書くうえで自作関数は必要不可欠です。関数を使うことでソースを読みやすくすることもできます。
main.php
------------------------------------------------------------------
<?php
my_func();
//関数を定義する
function my_func(){
echo 'PHPの関数';
}
?>
------------------------------------------------------------------
実行結果
PHPの関数
------------------------------------------------------------------
上記の例では、[PHPの関数]と表示する関数を定義しています。
関数定義のやり方は
function 関数名(引数の指定){ 処理… }
です。
関数名の先頭文字に数字は使えません。
また、PHP自体にも多くの関数が用意されているので、その関数名と名前が被らないようにしましょう。
関数に引数を持たせたい場合は、
function my_func($param01, $param02){ 処理… }
のようにします。
また、関数には「戻り値」を持たせたいこともできます。
例えば、足し算の結果を求める関数を作る場合、
------------------------------------------------------------------
$result = get_sum(2, 5);
echo 'result = '.$result;
function get_sum($a, $b){
$sum = $a+$b;
return $sum;
}
------------------------------------------------------------------
実行結果
result = 7
------------------------------------------------------------------
のようにします。
2011年10月03日更新
PHPの配列
PHPでは配列がとても便利です。
配列とはデータ構造の一つです。配列はデータの集合であり、添え字(key)で個々の要素(value)を区別します。
main.php
------------------------------------------------------------------
<?php $arr = Array(); $arr[0] = 10; $arr[1] = 100; $arr[2] = 20; $arr[3] = 200; // もしくは // $arr = Array(10, 100, 20, 200); echo 'arr[2] = '.$arr[2]; ?>
------------------------------------------------------------------
実行結果
arr[2] = 20
------------------------------------------------------------------
上記では最もシンプルな配列の使用例をあげました。
配列の使う利点として、
通常、変数には1つの値しか格納できませんが、ある関連した複数の値を格納できる変数があると都合の良い場合があります。
そのような場合に使うのが「配列」です。
例えば、複数の商品の値段から平均の値段を求めるプログラムを書くとき
配列を使わない場合は
$price1 = 100; $price2 = 3000; $price3 = 500;
上記のように変数をいくつも宣言しなければいけません。
配列を使えば、以下のようできます。
$price = Array(100,3000,500);
上記のようにすることで、1つの変数で3つの値を扱うことができます。
連想配列について
配列には「連想配列」と呼ばれるものがあります。辞書型配列などと呼ぶこともあります(C#)
連想配列の特徴は配列のkeyに文字列を使用できることです。
C言語では配列のkeyに文字列を指定することはできません(C++ではMapクラスを使うことで同じような機能を使うことができます)
$user = Array();
$user['name'] = 'Dr.hoge';
$user['age'] = 22;
$user['birth'] = '2001-01-01';
// もしくは
$user = Array(
'name'=>'Dr.hoge',
'age'=>22,
'birth'=>'2001-01-01'
);
上記のようにして使用します。
key と value に関連性を持たせることでデータの構造がわかりやすくなります。
2011年10月03日更新
PHPのループ処理
PHPのループ処理について解説します。
PHPでは「for」「while」の他に「foreach」というループ処理があります。
main.php
------------------------------------------------------------------
<?php
// for文
for($i=0; $i<10; $i++){
/* 処理 */
}
// while文
$i=0;
while($i<10){
/* 処理 */
$i++;
}
// foreach文
$arr = Array('apple','google','microsoft','adobe');
foreach($arr as $val){
echo $val;
echo '<br />';
}
?>
------------------------------------------------------------------
実行結果 (foreach)
apple
microsoft
adobe
------------------------------------------------------------------
for と while はC言語のときとほとんど同じです。
foreach には配列を使用します。
配列に含まれる要素の数分ループが回ります。
foreach の大まかな流れは
①$val に $arr の最初の要素($arr[0]の値)が格納されます。
②処理が実行されます。
③$val に $arr の第2要素($arr[1]の値)が格納されます。
④処理が実行されます。
⑤配列の要素なくなるまで繰り返し・・・
です。
また foreach には以下の様な使い方もあります。
------------------------------------------------------------------
// foreach文2
$arr = Array('apple','google','microsoft','adobe');
foreach($arr as $key => $val){
echo '$arr['.$key.'] = '.$val;
echo '<br />';
}
------------------------------------------------------------------
実行結果 (foreach)
$arr[0] = apple
$arr[1] = google
$arr[2] = microsoft
$arr[3] = adobe
------------------------------------------------------------------
これは $key に要素の添字が格納されます。
foreach の配列の指定に連想配列を指定した場合によく使います。
以上でPHPのループ処理の解説は終わりです。
2011年09月22日更新
PHPの基本
それではPHPによるプログラミングについて解説していきます。
PHPはC言語とは言語仕様が異なる部分がありますが、基本的にはC言語が分かればPHPも大丈夫です。
main.php
------------------------------------------------------------------
<?php $a = 1; $b = 2; $c = $a + $b; echo '$a+$b='.$c; ?>
------------------------------------------------------------------
実行結果
a+b=3
------------------------------------------------------------------
まず、PHPでは変数名に「$」をつけます。また、型の指定が必要ありません。
型の概念がないわけではなく、内部的に自動で型を管理しています。
文字の出力についてですが、
echo '$a+$b='.$c;
「echo」は「エコー」と読みます。
また文字は「'」or「"」で囲みます。さらに「.」を使うことで文字を連結することができます。
型について簡単に説明すると
$a = 1;
とすれば「1」は整数型の値として$aに格納されます。
$a = '1';
とすれば「1」は文字列型として$aに格納されます。
また、
$a = '1'; $b = '3'; echo 'sum='.$a+$b;
とした場合はどうなるでしょうか?
PHPは自動で型を適切に管理しようとするため、文字同士の足し算をした場合でもきちんと計算され出力結果は
sum=4
となります。
ですが、PHPは自動で型を管理するため時より、自分の意図と違った結果になる場合があるので注意が必要です。
PHPの型の管理の仕方についてはまた今度、詳しく解説しようと思います。
2011年09月03日更新
ループ処理を使う[プログラミングの基本]
このページではループ処理について解説します。
ループ処理にはいくつか種類があるので、状況に応じて適切に使い分けましょう。
main.c
------------------------------------------------------------------
#include <stdio.h>
int main(){
int a = 2;
int sum = 0;
for(int i=0; i<10; i++){
sum = sum + a;
}
printf("sum=%d", sum);
return 0;
}
------------------------------------------------------------------
実行結果
sum=20
------------------------------------------------------------------
まずは、「for文」について解説します。
for文の書式は
for(初期化; ループの継続条件; カウンタ変数の更新){ /* 処理 */ }
まず「初期化」ですが、ここではカウンタ変数の初期化を行います(サンプルでは変数iをカウンタ変数と使用しています)。
カウンタ変数の初期化はループに入るときに一度だけ処理されます。
次に「ループの継続条件」ですが、ここに指定した条件がFALSEの場合、ループは終了します。
逆に継続条件が間違っていると、ループが永遠に終了しない「無限ループ」になってしまうので注意が必要です。
そして「カウンタ変数の更新」ですが、これはループの回数をカウントしている変数iの値の更新方法を指定します。
サンプルでは「i++」となっているので、ループ1回につき、変数iの値を1増やすという意味になります。
まとめると
1. 初期化を実行する。
2. 条件を評価する。条件がFALSEならば、ループを終了する。
3. 処理を実行する。
4. カウンタ変数の更新を実行する。
5. 条件の評価に戻る。
というような感じです。
これで「for文」の説明はおわりです。
次に、「while文」について解説します。
while文の書式は
while(ループの継続条件){ /* 処理 */ }
となりますが、実際には
------------------------------------------------------------------
int i=0;
while(i < 10){
/* 処理 */
i++;
}
------------------------------------------------------------------
のようにする必要があります。
また、ループ処理は「break文」を使うことで任意のタイミングで終了させることができます。
------------------------------------------------------------------
int sum = 0;
int i=0;
while(i < 10){
sum += 3;
// sum が10より大きくなったら終了する
if(sum > 10){
break;
}
i++;
}
------------------------------------------------------------------
このようにすればループの継続条件を満たしていても、任意のタイミングで
ループを抜けることができます。
以上でプログラミングの基本的な要素の解説は終了です。
「if文」「for文」が使えれば、とりあえず問題ないです。
