0

3 列と 3 行などの非常に小さなテーブルをデータベースに移動する代わりに。その情報を配列または JSON オブジェクトに入れて、アプリケーションのヘッダー ファイルに含めたいと考えています。この情報は、すべてのページに含まれていることを保証するのに十分な頻度で使用されます。

そのため、配列を定数として保存できないようです。そのため、できればそれ以上処理せずに、いつでも配列にアクセスするための最良の方法は何でしょうか。情報は PHP だけでなく Javascript でも使用されるため、JSON オブジェクトとして保存するとよいでしょう。

4

3 に答える 3

2

変更できないものが必要な場合は、これを試してください。アプリケーションのブートストラップ プロセスや、クラスのロードを行ったり、クラス ローダーに登録したりする前に、クラスをロードする必要があります。

final class SomeData {
    private static $data = array(
        1 => array(
            1 => '1st row 1st column',
            2 => '1st row 2nd column',
            3 => '1st row 3rd column'
        ),
        2 => array(
            1 => '2nd row 1st column',
            2 => '2nd row 2nd column',
            3 => '2nd row 3rd column'
        ),
        3 => array(
            1 => '3rd row 1st column',
            2 => '3rd row 2nd column',
            3 => '3rd row 3rd column'
        )
    );
    public static function getData() {
        return self::$data;
    }
}

print_r(SomeData::getData());

配列のようなデータ オブジェクトにアクセスする場合は、単純にArrayAccessを実装できます。オブジェクトは final であり、プロパティは private であるため、変更できません。

于 2013-11-13T13:31:53.373 に答える
0

配列は、情報を変更する必要がない場合に役立ちます。変更するには、ソース コードを手動で編集する必要があるためです。

情報を .json ファイルに保存し、各セッションで値を配列にロードできます。

正直に言うと、SQLite などを使用するのが最善です。データを変更する必要がある場合、MySQL でさえ適切です。

于 2013-11-13T13:18:39.443 に答える
0

そのため、$_SESSION に配列として格納します。そして、いつでもアクセスできるようになります。

このコードはヘッダーにあります。

session_start();

$_SESSION['my_small_data'] = array(
  1 => array(
    1 => '1st row 1st column',
    2 => '1st row 2nd column',
    3 => '1st row 3rd column'
  ),
  2 => array(
    1 => '2nd row 1st column',
    2 => '2nd row 2nd column',
    3 => '2nd row 3rd column'
  ),
  3 => array(
    1 => '3rd row 1st column',
    2 => '3rd row 2nd column',
    3 => '3rd row 3rd column'
  )
);

コード内のどこでも、次のコードを使用して 2 行目 3 列目にアクセスできます。

$data = $_SESSION['my_small_data'][2][3];
于 2013-11-13T13:24:04.257 に答える