【PHP8.x】exp関数の使い方

exp関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

exp関数は、自然対数の底であるネイピア数 e (約 2.71828) の、引数で指定された値乗を計算する関数です。この関数は、数学的な指数関数 e^x をPHPで実現するために使用されます。

具体的には、exp(x) の形式で呼び出すと、引数 x を指数部として、ネイピア数 e を底とする指数関数 e^x の計算結果を浮動小数点数として返します。たとえば、exp(1)e の1乗、つまり e 自体の値である約 2.71828 を返し、exp(0)e の0乗、つまり 1 を返します。

この関数は、科学技術計算、統計分析、経済モデリングなど、指数関数的な成長や減衰を扱う様々な分野で役立ちます。例えば、時間の経過による複利計算や、特定の物理現象の減衰モデル、あるいは確率分布の計算などで利用されることがあります。

引数には任意の数値(整数または浮動小数点数)を指定でき、戻り値は常に浮動小数点数(float型)となります。引数が非常に大きな値の場合、計算結果がPHPの浮動小数点数の表現範囲を超えるため、INF (無限大) が返されることがあります。また、引数に数値以外の値が渡された場合は E_WARNING が発生し、通常 false が返されますので、引数は常に数値であることを確認することが重要です。

exp関数は、自然対数(底が e の対数)を計算する log関数の逆関数にあたるため、これら二つの関数は密接な関係にあります。

構文(syntax)

1<?php
2echo exp(1);

引数(parameters)

float $num

  • float $num: 自然対数の底 (e) を底とする $num の累乗を計算するための数値

戻り値(return)

float

exp関数は、自然対数の底 e を引数として指定された数値で累乗した結果を浮動小数点数(float)で返します。例えば、exp(1) は e の 1 乗、つまり e そのものを返します。

サンプルコード

PHP explodeで文字列を分割する

1<?php
2
3/**
4 * 文字列を指定した区切り文字で分割するサンプルコード.
5 *
6 * @param string $string 分割対象の文字列
7 * @param string $delimiter 区切り文字
8 * @return array 分割された文字列の配列
9 */
10function explode_example(string $string, string $delimiter): array
11{
12  // explode関数を使って文字列を分割します.
13  $exploded_array = explode($delimiter, $string);
14
15  // 分割された配列を返します.
16  return $exploded_array;
17}
18
19// 使用例
20$string = "apple,banana,orange";
21$delimiter = ",";
22$result = explode_example($string, $delimiter);
23
24// 結果の表示
25print_r($result);
26
27?>

このPHPサンプルコードは、explode関数を使用して文字列を指定した区切り文字で分割する方法を示しています。explode関数は、第一引数に区切り文字、第二引数に分割対象の文字列を受け取り、分割された文字列を配列として返します。

サンプルコードでは、explode_exampleという関数を定義しています。この関数は、分割対象の文字列 $string と区切り文字 $delimiter を引数として受け取ります。関数内では、explode関数を用いて $string$delimiter で分割し、その結果を $exploded_array という配列に格納します。最後に、分割された文字列が格納された配列 $exploded_array を返します。

使用例では、$string に "apple,banana,orange" という文字列、$delimiter に ","(カンマ)という区切り文字を定義し、explode_example 関数に渡しています。explode関数は、このカンマを区切り文字として文字列を分割し、"apple"、"banana"、"orange" を要素とする配列を返します。print_r 関数を使って、分割された配列の内容を表示しています。このコードを実行すると、配列の内容が画面に出力されます。explode関数は、文字列処理において非常に便利な関数であり、CSVファイルの解析や、URLの分解など、様々な場面で利用できます。

PHPのexplode関数は、文字列を指定した区切り文字で分割し、配列として返します。区切り文字が文字列内に存在しない場合、元の文字列全体が配列の最初の要素として返されることに注意が必要です。また、区切り文字に空文字列を指定すると、explode関数はfalseを返します。explode関数を使用する際は、区切り文字が適切かどうかを確認し、戻り値がfalseでないかをチェックすると、より安全なコードになります。分割対象の文字列や区切り文字に予期せぬ文字が含まれていないか、事前に検証することも重要です。

PHP explodeで文字列を分割する

1<?php
2
3/**
4 * 文字列を指定した区切り文字で分割するサンプルコード
5 */
6$string = "apple,banana,orange";
7$delimiter = ",";
8
9// explode関数を使って文字列を分割
10$array = explode($delimiter, $string);
11
12// 分割された配列の要素を順番に出力
13foreach ($array as $item) {
14    echo $item . PHP_EOL;
15}
16
17?>

このサンプルコードは、PHPのexplode関数を使って文字列を分割する方法を示しています。explode関数は、指定された区切り文字に基づいて文字列を配列に分割する際に使用します。

この例では、$string変数に"apple,banana,orange"という文字列が格納されており、$delimiter変数には区切り文字として","(カンマ)が設定されています。explode($delimiter, $string)を実行することで、$stringがカンマで区切られ、結果として$array変数には"apple"、"banana"、"orange"という3つの要素を持つ配列が格納されます。

explode関数の第一引数には区切り文字(ここではカンマ)、第二引数には分割対象の文字列を指定します。explode関数の戻り値は、分割された文字列の配列です。

その後、foreachループを使って$array配列の各要素を順番に出力しています。PHP_EOLは改行コードを表し、各要素が改行されて表示されます。このコードを実行すると、"apple"、"banana"、"orange"がそれぞれ別の行に出力されます。explode関数は、CSVファイルの解析や、特定の区切り文字で区切られたデータを処理する際によく利用されます。

explode関数は、区切り文字が見つからない場合、元の文字列全体を要素とする配列を返します。また、区切り文字に空文字列を指定するとfalseを返しますので注意が必要です。第三引数にlimitを指定することで、分割数を制限できます。これは、分割後の配列の要素数を制御したい場合に有効です。limitに負の値を指定すると、最後のlimit個の要素を除外した配列が返されます。区切り文字が連続している場合、PHPのバージョンによっては空文字列の要素が生成されることがあります。データの整合性を保つためには、必要に応じてarray_filter関数などで空の要素を取り除くことを検討してください。

関連コンテンツ