PHPに配列を渡してページにジャンプする方法

PHPz
リリース: 2023-04-18 10:04:23
オリジナル
732 人が閲覧しました

PHP 開発では、配列内のデータを別のページに渡して処理する必要がある状況によく遭遇します。この記事では、PHPに配列を渡してそのページにジャンプする方法を紹介します。

1. フォームを通じて配列を渡す

フォームの POST または GET メソッドを使用して、配列を次のページに渡すことができます。まず、現在のページにフォームを作成し、配列内のデータを非表示フィールドの形式でフォームに入力する必要があります。コードは次のとおりです。

<form method="POST" action="target_page.php">
    <input type="hidden" name="my_array[]" value="<?php echo implode(&#39;,&#39;, $my_array); ?>">
    <input type="submit" value="submit">
</form>
ログイン後にコピー

上記のコードでは、implode 関数を使用して配列を文字列に変換し、それを「my_array[]」という名前の隠しフィールドに保存します。ここで注意が必要なのは、データを受け取るときに便利なように、フィールド名の後に「[]」を付けて配列にしていることです。

次に、ターゲット ページで、次のコードを使用して、渡された配列を取得できます:

$my_array = explode(',', $_POST['my_array'][0]);
ログイン後にコピー

2. セッションを使用して配列を渡します

別の方法で配列を渡します。配列はセッションを介して渡されます。配列をセッションに保存し、別のページで同じセッション変数を使用して配列を取得します。

現在のページでは、次のコードを使用してセッションに配列を保存できます:

session_start();
$_SESSION['my_array'] = $my_array;
ログイン後にコピー

次に、ターゲット ページで、次のコードを使用して渡された配列を取得できます:

session_start();
$my_array = $_SESSION['my_array'];
ログイン後にコピー

セッションを使用して配列を渡す場合、セッションを開くためにターゲット ページで session_start() 関数が使用されていることを確認する必要があることに注意してください。

3. URL を介して配列を渡す

配列を渡すもう 1 つの方法は、URL を介して渡すことです。配列を文字列に変換し、URL のパラメーターとして次のページに渡すことができます。ターゲット ページで、文字列を配列に変換します。

現在のページでは、次のコードによって配列を文字列に変換し、URL パラメータとして渡すことができます。

$url = "target_page.php?my_array=".implode(',', $my_array);
header("Location: $url");
ログイン後にコピー

次に、ターゲット ページで、次のものを渡すことができます。コードは渡された配列を取得します:

$my_array = explode(',', $_GET['my_array']);
ログイン後にコピー

URL を使用して配列を渡す場合、配信の問題を避けるために、配列のサイズを URL の長さの範囲内で制御する必要があることに注意してください。 URL が長すぎることが原因でエラーが発生しました。

概要

この記事では、フォーム、セッション、URL の 3 つの方法を通じて、PHP で配列を渡してページにジャンプする方法を紹介します。具体的なシナリオに応じて、適切な配信方法を選択する必要があります。同時に、配信の失敗を避けるために、配列を渡すときは URL の長さに注意する必要があります。この記事を学ぶことで、読者は配列を渡す方法を習得し、PHP 開発の可能性がさらに広がると思います。

以上がPHPに配列を渡してページにジャンプする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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