PHP関数でのフラグの使用
関数では、<return命令を使用して
暗黙的にフラグを利用することができます。
その方法を見てみましょう。すべての配列要素が
正の数であるかどうかをチェックする次のような
関数があるとします:
<?php
function isPositive($arr) {
$flag = true;
foreach ($arr as $elem) {
if ($elem < 0) {
$flag = false;
}
}
return $flag;
}
?>
フラグを暗黙的に使用してこの関数のコードを 書き直してみましょう:
<?php
function isPositive($arr) {
foreach ($arr as $elem) {
if ($elem < 0) {
return false;
}
}
return true;
}
?>
この動作の仕組み:配列内で必要な要素が見つかった場合、
<returnを使用して関数(およびループも)から
抜け出します。
しかし、配列内に必要な要素が見つからなかった場合、
関数からの脱出は起こらず、実行は<return true
の命令に到達します。
その結果、関数は、配列のすべての要素が正の数である
ことを示すために<trueを返します。
数値の配列をパラメータとして受け取り、 その配列のすべての要素が偶数であるかどうかを チェックする関数を作成してください。
数値をパラメータとして受け取り、 その数値のすべての桁が奇数であるかどうかを チェックする関数を作成してください。
配列をパラメータとして受け取り、 その配列内に連続した同じ要素が2つ存在するか どうかをチェックする関数を作成してください。