-
【PHP】時刻の配列から合計時間を計算する方法|strtotimeとexplodeの2つの手法を解説
PHPではstrtotime関数を使うことで、時刻を表す文字列をタイムスタンプ(時刻形式)へ変換できます。本記事では、時刻文字列の配列から合計時間を計算するプログラムを、サンプルコードとともにわかりやすく解説します。 strtotime関数を使った合計時間の計算方法 サンプルコード <?php $time_arr = [ 00:12:56, 10:11:12, 24:12:44, 50:51:52, 10:10:10 ]; $time = strtotime(00:00:00); $to
-
PHPで指定したタイムスタンプを「10分前」などの相対時間表記に変換する方法
SNSやブログのコメント欄などでよく見かける「10分前」「3時間前」といった相対的な時間表示。Webアプリケーションでは投稿日時をこのように表示することで、ユーザーにとって直感的で読みやすいインターフェースを実現できます。ここでは、PHPを使って指定されたタイムスタンプを「time ago(〜前)」形式に変換するプログラムを解説します。 サンプルコード <?php function to_time_ago( $time ) { $difference = time() - $time; if( $difference < 1 )
-
PHPスクリプトの実行時間を計測する方法|microtime関数の使い方を解説
PHPスクリプトの実行時間を計測したい場面は多くあります。パフォーマンスの最適化やボトルネックの特定など、処理速度を把握することはWebアプリケーション開発において重要なポイントです。ここでは、microtime関数を使ってPHPスクリプトの実行時間を計算する方法を、具体的なコード例とともに解説します。実行時間を計測するサンプルコード以下は、シンプルなループ処理の実行時間を計測するPHPプログラムの例です。<?php $start = microtime(true); $val=1; for($i = 1; $i <=1500; $i++) {
-
PHPで文字列から英数字以外の文字を削除する方法(preg_replaceの使い方)
PHPでは、正規表現を活用することで、文字列から英数字(アルファベットと数字)以外の不要な記号や特殊文字を簡単に取り除くことができます。ここでは、「preg_replace」関数を使った具体的な方法を2つのサンプルコードで解説します。例1:文字クラスを使った正規表現で削除する<?php$my_str="Thisis!@sample*on&ly)#$";$my_str = preg_replace( '/[^a-z0-9]/i', '', $my_str);echo "The non-alphanumeric chara
-
PHPでカンマ区切りの文字列を値の配列に分割する方法
PHPでは、カンマ区切りの文字列を簡単に配列へ分割できます。代表的な方法として、正規表現パターンを利用する「preg_split」関数と、区切り文字を直接指定する「explode」関数の2つがあります。ここでは、それぞれの関数を使って文字列を配列に分割する例を紹介します。 サンプルコード <?php $my_string = "456,789,23, 4, 019"; $my_str_arr = preg_split ("/,/", $my_string); print_r("The array is "); print_r($
-
【PHP】数値が素数かどうかを判定するプログラムの書き方
PHPを使って、ある数値が素数(prime number)かどうかを判定する方法を解説します。素数とは、1とその数自身以外に正の約数を持たない、1より大きい自然数のことです。判定用のコードは以下の通りです。 サンプルコード <?php function check_prime($num) { if ($num == 1) return 0; for ($i = 2; $i <= $num/2; $i++) { if ($num % $i == 0) return 0; } return
-
PHPでうるう年かどうかを判定するプログラムの書き方
PHPでは、剰余演算子(%)を使って西暦年を400・100・4で割り、その余りを確認することで、その年がうるう年かどうかを簡単に判定できます。本記事では、具体的なサンプルコードと実行結果、そして判定ロジックの解説を紹介します。 うるう年の判定ルール うるう年の判定は、以下の3つの条件に基づいて行われます。 400で割り切れる年は、うるう年である(例:2000年) 100で割り切れるが400で割り切れない年は、平年である(例:1900年、2100年) 4で割り切れ、かつ100で割り切れない年は、うるう年である(例:2020年、2024年) それ以外の年はすべて平年として扱われます。 サンプル
-
PHPで約数の総数が偶数か奇数かを判定するプログラムの書き方
与えられた数の約数の総数が偶数か奇数かを判定したい場合、以下のようなPHPコードを使用します。サンプルコード<?phpfunction divisor_count($my_val){ $my_count = 0; for ($i = 1; $i <= sqrt($my_val) + 1; $i++) { if ($my_val % $i == 0)&nb
-
PHPで数値のすべての桁がその数値を割り切れるかチェックする方法
PHPでは、ある数値のすべての桁がその数値自身を割り切るかどうかを、剰余演算子(%)を使ったシンプルな関数で判定できます。この記事では、実際に動作するサンプルコードと、その仕組みをわかりやすく解説します。サンプルコード<?php function divisibility_check($val, $digit) { // 桁が0ではなく、かつその桁で割り切れるかを判定する return ($digit != 0 && $val % $digit == 0); } functio
-
奇数の自然数の立方の合計を求めるPHPプログラム
はじめに 本記事では、PHPを使って奇数の自然数の立方(3乗)の合計を求めるプログラムを紹介します。1、3、5、7…と続く奇数それぞれを3乗し、その総和を計算する方法を、サンプルコードとともにわかりやすく解説します。 サンプルコード <?php function sum_of_cubes_odd($limit) { $init_sum = 0; for ($i = 1; $i <= $limit; $i++) { $odd = 2 * $i - 1; // i番目の奇数 $init_sum += $odd * $odd * $odd
-
PHPで最初のn個の偶数の平均を求めるプログラム
はじめに 最初のn個の偶数(2、4、6、8、…、2n)の平均は、実はとてもシンプルな式で表すことができます。偶数の合計は 2 + 4 + … + 2n = n(n + 1) となるため、これを個数 n で割ると、平均は必ず n + 1 になります。 この数学的性質を活かせば、ループで合計を計算する必要すらなく、定数時間 O(1) で答えを導き出せます。以下がそのPHPコードです。 サンプルコード <?php function even_nums_avg($val) { return $val + 1; } $val = 11; print_
-
最初のn個の自然数の5乗の合計を求めるPHPプログラム
最初のn個の自然数の5乗の合計を求めるには、以下のコードを使用します。コード例<?php function sum_of_fifth_pow($val) { $init_sum = 0; for ($i = 1; $i <= $val; $i++) $init_sum = $init_sum + ($i * $i * $i * $i * $i); return $init_sum; } $val = 89; print_r(最初のn個の自然数の5乗の合計は ); echo(sum_of_fifth_pow($val)); ?>出力結果最初
-
PHPで特定の数「k」の累乗ではない最初のn個の自然数の合計を求めるプログラム
特定の数「k」の累乗ではない最初の n 個の自然数の合計を求める PHP プログラムを紹介します。この問題は、等差数列の和の公式を活用することで、無駄なループを省いた効率的な実装が可能です。アルゴリズムの考え方手順はシンプルで、次の2ステップで構成されています。公式「n × (n + 1) ÷ 2」を使って、1 から n までの自然数の合計を求める。k の累乗に該当する数(k, k², k³, …)のうち n 以下のものをすべて合計から引く。サンプルコード<?phpfunction sum_of_nums($n_val, $k_val){ $
-
【PHP】最初のn個の自然数の3乗の和(立方和)を求める方法
本記事では、PHPを使って最初のn個の自然数の3乗の和(立方和)を求めるプログラムを解説します。まずは基本的なループ処理による実装例から見ていきましょう。サンプルコード<?phpfunction sum_of_cubes($val){ $init_sum = 0; for ($x = 1; $x <= $val; $x++) $init_sum += $x * $x * $x; return $init_sum;}print_r(The sum of cubes of first 8 natural numbers is );echo sum_of_
-
与えられた数列に特定の数が存在するかどうかを判定するPHPプログラム
与えられた数列(等差数列)の中に特定の数が存在するかどうかを判定したい場合、以下のようなコードで簡単に実現できます。サンプルコード<?php function contains_in_sequence($val_1, $val_2, $val_3) { if ($val_1 == $val_2) return true; if (($val_2 - $val_1) * $val_3 > 0 && ($val_2 - $val_1) % $val_3 == 0) return true; retu
-
数値「x」で割り切れる階乗を持つ最初の自然数を求めるPHPプログラム
ある数値「x」で割り切れるような階乗の値を持つ、最初の自然数を求めたい場面は意外と多くあります。PHPではシンプルなforループを使うことで、この問題を効率よく解くことができます。本記事では、具体的なサンプルコードとその動作の仕組みをわかりやすく解説します。 サンプルコード <?php function factorial_num($x_val) { $i = 1; $fact_num = 1; for ($i = 1; $i < $x_val; $i++) { $fact_num = $fact_num * $i;
-
PHPで配列内の欠落している数値を見つけるプログラムの作成方法
与えられた配列の中から「欠けている数値」を検出したいケースは、実際の開発でもよくあります。ここでは、PHPを使って連続する整数の中で配列に存在しない数値を見つけ出すサンプルコードを紹介します。 サンプルコード <?php function missing_nums($my_arr, $arr_len, $val) { sort($my_arr); $i = 0; // 0以下の数値は判定対象外のためスキップする  
-
【PHP】「x」または「y」で割り切れる1〜nの自然数の合計を求めるプログラム
「x」または「y」で割り切れる、1からnまでの自然数の合計を求めたい場合、単純にループで一つずつ判定する方法もありますが、等差数列の和の公式と包除原理を組み合わせれば、ループなしで効率的に計算できます。ここではその実装例を紹介します。サンプルコード<?phpfunction sum_of_nums($n_val, $x_val, $y_val){ $val_1 = floor($n_val / $x_val) * ((2 * $x_val) + (floor($n_val / $x_val) - 1) * $x_val) / 2;
-
PHPで指定した範囲内の奇数の合計を求めるプログラム
指定された範囲内に存在する奇数の合計を求めるには、以下のようなコードを使用します。サンプルコード<?php function odd_num_sum($val) { $entries = (int)($val + 1) / 2; $sum = $entries * $entries; return $sum; } function num_in_range($low, $high) { return odd_num_sum($high) - odd_num_sum($low - 1);
-
PHPで2つの数値の繰り返し減算(除算)を計算する方法
2つの数値に対して繰り返し減算を行い、その結果を求めるプログラムは、再帰的な関数を使って実装できます。以下にそのサンプルコードを示します。サンプルコード<?php function repeated_sub($val_1, $val_2) { if ($val_1 % $val_2 == 0) return floor(((int)$val_1 / $val_2)); return floor(((int)$val_1 / $val_2) + repeated_sub($val_2, $val_1 % $val_2)); } $val_1 = 1000;