ホームページ バックエンド開発 PHPの問題 PHPの文字列を数値に変換する方法

PHPの文字列を数値に変換する方法

Apr 04, 2023 am 10:42 AM

PHP は、Web 開発やデータ処理に広く使用されている人気のあるサーバーサイド プログラミング言語であり、豊富な組み込み関数と機能が備わっています。ユーザー入力を処理したり、外部ソースからデータを取得したりする場合、多くの場合、計算や比較操作のために文字列を数値に変換する必要があります。この記事では、型変換関数や文字列操作関数、正規表現など、PHPの文字列を数値に変換する方法やテクニックを紹介します。はじめましょう!

  1. PHP 型変換関数

PHP には、さまざまな型の値を数値型に変換するための組み込みの型変換関数がいくつか用意されています。これらの関数は、整数、浮動小数点数、ブール値、日時などのさまざまなデータ型を処理できます。一般的に使用される型変換関数の一部を次に示します。

(1) intval() 関数

intval() 関数は、文字列を整数に変換するために使用されます。文字列が数字で始まる場合、関数はそれを整数型に変換し、文字列が数字以外の文字で始まる場合、関数は 0 を返します。 intval() 関数では、基数を指定したり、小数部分を四捨五入したりすることもできます。

例:

$str = '123';
$int = intval($str); // $int的值为123
$str = 'abc123';
$int = intval($str); // $int的值为0
$str = '123.45';
$int = intval($str); // $int的值为123
$str = '0x1a';
$int = intval($str, 16); // $int的值为26
ログイン後にコピー

(2) floatval() 関数

floatval() 関数は、文字列を浮動小数点数に変換するために使用されます。 intval() 関数と同様に、文字列が数値で始まる場合、関数はそれを浮動小数点数型に変換します。文字列が数値以外の文字で始まる場合、関数は 0 を返します。

例:

$str = '3.14';
$float = floatval($str); // $float的值为3.14
$str = 'abc.123';
$float = floatval($str); // $float的值为0
ログイン後にコピー

(3) boolval() 関数

boolval() 関数は、文字列をブール値に変換するために使用されます。文字列が '0'、''、'false'、'null'、または空の配列の場合、関数は false を返し、それ以外の場合は true を返します。 boolval() 関数は、他のタイプの値をブール値に変換することもできます。

例:

$str1 = '0';
$str2 = 'false';
$str3 = 'null';
$bool1 = boolval($str1); // $bool1的值为false
$bool2 = boolval($str2); // $bool2的值为false
$bool3 = boolval($str3); // $bool3的值为false
$str4 = 'abc';
$bool4 = boolval($str4); // $bool4的值为true
$int = 123;
$bool5 = boolval($int); // $bool5的值为true
ログイン後にコピー

(4) strtotime() 関数

strtotime() 関数は、日付と時刻の文字列を Unix タイムスタンプに変換するために使用されます。 Unix タイムスタンプは、1970 年 1 月 1 日の 0:00:00 から現在時刻までの秒数です。関数のパラメーターには、「2019-01-01」、「2020-01-01 12:00:00」など、任意の形式の日付と時刻の文字列を指定できます。文字列が日時形式として認識されない場合、関数は false を返します。

例:

$str = '2020-01-01 12:00:00';
$timestamp = strtotime($str); // $timestamp的值为1577875200
ログイン後にコピー
  1. PHP 文字列操作関数

型変換関数に加えて、PHP は数値を処理するための多くの文字列操作関数も提供します。文字列の一部。これらの関数は、文字列の数値以外の部分の削除、指定された長さの数値のインターセプト、文字列が数値かどうかの判断などの機能を実装できます。一般的に使用される文字列操作関数の一部を次に示します。

(1) preg_replace() 関数

preg_replace() 関数は、PHP の正規表現に基づく文字列置換関数であり、次の目的で使用できます。削除 文字列の数値以外の部分。正規表現を使用すると、数値以外の文字をすべて照合し、何も置き換えることができます。

例:

$str = 'abc123xyz456';
$str = preg_replace('/\D/', '', $str); // $str的值为'123456'
ログイン後にコピー

正規表現では、「\D」は数字以外の文字を表し、「/」を追加することはそれらをエスケープすることを意味します。 preg_replace() 関数と正規表現を使用して、数値以外の文字を空の文字列に置換し、数値のみを含む文字列を取得します。

(2) substr() 関数

substr() 関数は、文字列内の指定された位置および長さの部分文字列をインターセプトするために使用されます。この関数を使用して文字列の数値部分をインターセプトし、型変換を実行できます。

例:

$str = 'abc123xyz';
$str = substr($str, 3, 3); // $str的值为'123'
$int = intval($str); // $int的值为123
ログイン後にコピー

(3) is_numeric() 関数

is_numeric() 関数は、文字列が数値かどうかを判断するために使用されます。この関数は、文字列が整数、浮動小数点数、科学表記法の数値の場合は true を返し、それ以外の場合は false を返します。

例:

$str1 = '123';
$str2 = '3.14';
$str3 = '1e10';
$str4 = 'abc';
$bool1 = is_numeric($str1); // $bool1的值为true
$bool2 = is_numeric($str2); // $bool2的值为true
$bool3 = is_numeric($str3); // $bool3的值为true
$bool4 = is_numeric($str4); // $bool4的值为false
ログイン後にコピー
  1. PHP 正規表現

正規表現は、さまざまな A 文字列の処理に使用できる、柔軟で強力なテキスト マッチング ツールです。形式で。 PHP には、Perl 互換の正規表現構文をサポートする組み込みの PCRE ライブラリがあります。正規表現を使用して文字列の数値部分を照合し、型変換を実行できます。

例:

$str1 = 'abc123xyz';
$str2 = '3.14E2';
$pattern = '/\d+/';
preg_match($pattern, $str1, $matches); // $matches的值为array('123')
preg_match($pattern, $str2, $matches); // $matches的值为array('314')
$int1 = intval($matches[0]); // $int1的值为123
$float1 = floatval($matches[0]); // $float1的值为123.0
$float2 = floatval($matches[0]) * 100; // $float2的值为12300.0
ログイン後にコピー

正規表現では、「\d」は数字を表し、「 」は 1 つ以上の数字と一致することを表します。 preg_match() 関数と正規表現を使用して文字列の数値部分を照合し、照合結果を $matches 配列に保存し、次に intval() 関数と floatval() 関数を使用して照合結果を整数に変換し、浮動小数点数型。さらに、100 を乗算して浮動小数点数を取得するなど、照合結果をさらに処理することもできます。

概要

この記事では、型変換関数、文字列操作関数、正規表現など、PHP の文字列を数値に変換する方法とテクニックを紹介します。これらのメソッドは、整数、浮動小数点、ブール値、日時などのさまざまなタイプの文字列を簡単に処理できます。最後に、正規表現を使用して文字列の数値部分を照合し、型変換を実行する方法も紹介しました。これらのスキルを習得すると、PHP プログラミング プロセスがより快適になり、開発効率が向上します。

以上がPHPの文字列を数値に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 Mar 26, 2025 pm 04:13 PM

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 Mar 25, 2025 am 10:37 AM

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 Mar 26, 2025 pm 04:18 PM

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

PHP暗号化:対称と非対称暗号化。 PHP暗号化:対称と非対称暗号化。 Mar 25, 2025 pm 03:12 PM

この記事では、PHPの対称的および非対称暗号化について説明し、適合性、パフォーマンス、セキュリティの違いを比較しています。対称暗号化はより速く、バルクデータに適していますが、非対称は安全なキー交換に使用されます。

PHP認証&承認:安全な実装。 PHP認証&承認:安全な実装。 Mar 25, 2025 pm 03:06 PM

この記事では、不正アクセスを防ぎ、ベストプラクティスの詳細、セキュリティ強化ツールの推奨を防ぐために、PHPで堅牢な認証と承認の実装について説明します。

PHP APIレート制限:実装戦略。 PHP APIレート制限:実装戦略。 Mar 26, 2025 pm 04:16 PM

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

PHP CSRF保護:CSRF攻撃を防ぐ方法。 PHP CSRF保護:CSRF攻撃を防ぐ方法。 Mar 25, 2025 pm 03:05 PM

この記事では、CSRFトークン、同じサイトCookie、適切なセッション管理など、PHPでのCSRF攻撃を防ぐための戦略について説明します。

PHP入力検証:ベストプラクティス。 PHP入力検証:ベストプラクティス。 Mar 26, 2025 pm 04:17 PM

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

See all articles