PHP Manual
/
データ処理

アルファベット、数値の配列、間隔の取得

22. 08. 2019

非常に単純なアルゴリズムで導き出された値の配列(例えば `$min` から `$max` までの数値の配列)が必要になることはよくありますが、これは複雑な方法で解決することができます。

getNumbers(10, 100);
/**
* @return int[]
*/
function getNumbers(int $min, int $max): array
{
$numbers = [];
for ($i = $min; $i <= $max; $i++) {
$numbers[] = $i;
}
return $numbers;
}

あるいは、既製の関数 range($min, $max, $step) を使用します。

// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
foreach (range(0, 12) as $number) {
echo $number . ';';
}
// [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
foreach (range(0, 100, 10) as $number) {
echo $number . ';';
}
// ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]である。
foreach (range('a', 'i') as $char) {
echo $char . ';';
}
// ['c', 'b', 'a'].
foreach (range('c', 'a') as $char) {
echo $char . ';';
}

この関数は、たとえばPaginator モジュールで使われており、長い結果のリストのページネーションや、一般にあるカタログへのソートを解決します。

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
2.
Status:
All systems normal.
2024