PHP と MySQL は JSON 内のブール値をどのように処理しますか?
Web ページやアプリケーションを開発する場合、多くの場合、データを JSON 形式で送信して保存する必要があります。 JSON (JavaScript Object Notation) は、読み取りと書き込みが簡単で、解析と生成も簡単な軽量のデータ交換形式です。 JSON は、ブール型を含む複数のデータ型をサポートします。
PHP と MySQL では、JSON 内のブール値を処理するのが一般的なタスクです。この記事では、PHP および MySQL で JSON のブール値を正しく処理する方法と、対応するコード例を紹介します。
PHP のブール変換関数は非常に単純です。他のデータを変換するには (bool) 関数または (boolval) 関数を使用するだけです。 type ブール型です。
次は、文字列をブール型に変換する例です。
$str = "true"; $bool = (bool)$str; var_dump($bool); // bool(true)
上の例では、文字列「true」をブール型に変換すると、結果は true になります。
PHP には、JSON エンコードとデコードのための便利な関数 (それぞれ json_encode() 関数と json_decode() 関数) が用意されています。
以下は、ブール値を含む配列を JSON 文字列にエンコードし、それをデコードし直す例です。
$data = array( "name" => "John", "age" => 28, "isStudent" => true ); $json = json_encode($data); // 编码为JSON字符串 echo $json; // {"name":"John","age":28,"isStudent":true} $decodedData = json_decode($json); // 解码为PHP对象 var_dump($decodedData);
上記の例では、ブール値を含む配列は次のようになります。 JSON 文字にエンコードされた文字列の後、json_decode() 関数を通じてデコードされます。
MySQL はデフォルトでブール型データの保存をサポートしていないため、ブール値を保存するために他の適切なデータ型に変換する必要があります。一般的なアプローチは、TINYINT 型を使用することです。0 は false を表し、1 は true を表します。
次は、ブール型フィールドを含むテーブルを作成し、データの一部を挿入する例です。
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50), isStudent TINYINT(1) ); INSERT INTO users(username, isStudent) VALUES('John', 1);
上の例では、isStudent フィールドが含まれるユーザー テーブルが作成されます。ブール型のデータを保存するために使用されます。
これまでの知識をもとに、PHP のブール値を MySQL に格納してクエリを実行する例を以下に示します。
// 将布尔数值存储到MySQL $username = "John"; $isStudent = true; // 转换为MySQL中的布尔类型 $isStudentMySQL = $isStudent ? 1 : 0; // 插入数据 $sql = "INSERT INTO users(username, isStudent) VALUES('$username', $isStudentMySQL)"; $result = $conn->query($sql); // 从MySQL查询数据 $sql = "SELECT * FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $username = $row["username"]; $isStudent = $row["isStudent"]; // 转换为PHP中的布尔类型 $isStudentPHP = $isStudent == 1 ? true : false; // 输出数据 echo "Username: " . $username . ", Is student: " . $isStudentPHP . "<br>"; } } else { echo "0 results"; }
上記の例では、PHP のブール値は MySQL に保存され、データはクエリを通じて取得され、PHP でブール型に変換されて使用されます。
概要:
JSON でブール値を処理する場合は、まず PHP で正しいブール変換を実行してから、 json_encode() 関数と json_decode() 関数を使用してエンコードする必要があります。そして JSON をデコードします。 MySQL では、ブール値を保存するために他のデータ型に変換する必要があります。適切なデータ変換と処理を行うと、JSON のブール値を PHP や MySQL で簡単に処理できます。
以上がPHP と MySQL は JSON のブール値をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。