ホームページ > バックエンド開発 > PHPの問題 > PHPで2次元配列を保存する方法(方法とヒント)

PHPで2次元配列を保存する方法(方法とヒント)

PHPz
リリース: 2023-04-18 09:58:33
オリジナル
844 人が閲覧しました

PHP は、Web 開発で広く使用されているサーバー側スクリプト言語です。 PHP では、配列は数値、文字列、オブジェクトなどの複数の値を格納できる重要なデータ型です。場合によっては、特定のビジネス ニーズを満たすために、複数の値を 2 次元配列に結合する必要があります。この記事では、PHP が 2 次元配列を保存する方法を検討し、いくつかの方法とテクニックを紹介します。

1. 2 次元配列の概要

PHP では、2 次元配列は複数の配列を含む配列であり、各配列には複数のキーと値のペア (または要素) が含まれます。たとえば、次のコードは、単純な 2 次元配列を作成する方法を示しています。

$grades = array(
    array("Tom", 80),
    array("John", 90),
    array("Mary", 95)
);
ログイン後にコピー

上記のコードでは、$grades は 3 つの配列を含む配列であり、各配列には 2 つのキーと値のペアが含まれています。最初の配列にはキーと値のペア ("Tom"、80) が含まれ、2 番目の配列にはキーと値のペア ("John"、90) が含まれ、3 番目の配列にはキーと値のペア ("Mary"、95) が含まれます。 )。

2. 2 次元配列の保存

2 次元配列を保存する必要がある場合は、さまざまな方法とテクニックを使用できます。一般的な例をいくつか示します。

  1. 2 次元配列を文字列として保存する

PHP のシリアル化関数 Serialize() を使用して、2 次元配列を文字列に変換し、保存します。ファイルまたはデータベース。必要に応じて、逆シリアル化関数 unserialize() を使用して文字列を 2 次元配列に復元できます。たとえば、次のコードは、2 次元配列 $grades をファイルに保存する方法を示しています。

$serialized_grades = serialize($grades);
file_put_contents("grades.txt", $serialized_grades);
ログイン後にコピー

上記のコードでは、シリアル化関数 Serialize() を使用して、$grades 配列を文字列に変換します。 $serialized_grades を指定し、関数 file_put_contents() を使用して、文字列をファイル「grades.txt」に保存します。

ファイルを読み取る場合、関数 file_get_contents() を使用してファイル内の文字列を読み取り、逆シリアル化関数 unserialize() を使用して文字列を 2 次元配列に復元できます。たとえば、次のコードは、保存された 2 次元配列をファイルから読み取る方法を示しています。

$serialized_grades = file_get_contents("grades.txt");
$grades = unserialize($serialized_grades);
ログイン後にコピー

上記のコードでは、関数 file_get_contents() を使用して、ファイル "grades" 内の文字列 $serialized_grades を読み取ります。 .txt"、そして逆シリアル化関数 unserialize() を使用して文字列を 2 次元配列 $grades に復元します。

  1. 2 次元配列を JSON として保存する

PHP の JSON 関数 json_encode() を使用して、2 次元配列を JSON 形式に変換して保存することもできます。ファイルまたはデータベース内。必要に応じて、JSON 関数 json_decode() を使用して、JSON 形式の文字列を 2 次元配列に復元できます。たとえば、次のコードは、2 次元配列 $grades をファイルに保存する方法を示しています。

$json_grades = json_encode($grades);
file_put_contents("grades.json", $json_grades);
ログイン後にコピー

上記のコードでは、JSON 関数 json_encode() を使用して 2 次元配列 $grades を変換します。 JSON 形式の文字列 $json_grades に変換し、関数 file_put_contents() を使用して文字列をファイル「grades.json」に保存します。

ファイルを読み取る場合、関数 file_get_contents() を使用してファイル内の JSON 形式文字列を読み取り、JSON 関数 json_decode() を使用して JSON 形式文字列を 2 次元配列に復元できます。たとえば、次のコードは、保存された 2 次元配列をファイルから読み取る方法を示しています。

$json_grades = file_get_contents("grades.json");
$grades = json_decode($json_grades, true);
ログイン後にコピー

上記のコードでは、関数 file_get_contents() を使用して、ファイル "grades" 内の JSON 形式の文字列を読み取ります。 .json" $ json_grades を実行し、JSON 関数 json_decode() を使用して、JSON 形式の文字列を 2 次元配列 $grades に復元します。

  1. 2 次元配列をデータベースに保存する

MySQLi や PDO などの PHP データベース拡張機能を使用して、2 次元配列をデータベースに保存できます。たとえば、次のコードは、2 次元配列 $grades を MySQL データベースに保存する方法を示しています。

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败:" . $conn->connect_error);
}

// 创建SQL语句
$sql = "INSERT INTO grades (name, score)
VALUES (?, ?)";

// 准备SQL语句
$stmt = $conn->prepare($sql);

// 绑定参数并执行SQL语句
foreach ($grades as $grade) {
    $name = $grade[0];
    $score = $grade[1];
    $stmt->bind_param("si", $name, $score);
    $stmt->execute();
}

$stmt->close();
$conn->close();
ログイン後にコピー

上記のコードでは、MySQLi 拡張機能を使用してデータベース接続 $conn を作成し、 2 次元配列を $grades に変換する SQL ステートメント INSERT INTO は、テーブル Grade に保存されます。まず、prepare() 関数を使用して SQL ステートメントを準備し、bind_param() 関数を使用してパラメータをバインドします。次に、foreach ループを使用して 2 次元配列 $grades を走査し、$name と $score をテーブル Grade に挿入します。

保存された 2 次元配列を読み取る必要がある場合は、SQL ステートメントの SELECT 関数とフェッチ関数を使用して、データベースから関連データを読み取ることができます。

3. 概要

PHP では、配列を文字列、JSON 形式、またはデータベースとして保存するなど、さまざまな方法やテクニックを使用して、複数の値の 2 次元配列を保存できます。これらの技術は、さまざまなビジネス ニーズを満たし、プログラムの可読性と保守性を向上させることができます。実際の開発では、ビジネスニーズとパフォーマンス要件に基づいて適切な保存方法を選択し、プログラムの効率と品質を向上させます。

以上がPHPで2次元配列を保存する方法(方法とヒント)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート