PHP:変数をキーとして使用してネストされた配列の値を設定します

RytisGrincevičius

私がこの種のコードを持っているとしましょう:

    $array = [
        'a'=> [
            'b' => [
                'c'=>'some value',
            ],
        ],
    ];

    $array['a']['b']['c'] = 'new value';

もちろんこれは機能していますが、私が欲しいのは、変数を使用してこの「c」キーを更新することです。

$keys = '[a][b][c]';
$array{$keys} = 'new value';

しかし、キーは文字列として扱われ、これが私が得るものです:

$array['[a][b][c]'] = 'new value';

したがって、eval()を使用せずにこれを機能させる正しい方法を示すために、いくつかの助けが必要です。

ちなみに、配列のネストはいくつでも存在する可能性があるため、このようなものは適切な答えではありません。

$key1 = 'a';
$key2 = 'b';
$key3 = 'c';
$array[$key1][$key2][$key3] = 'new value';
マークベイカー

キーを定義するのに最適な方法ではありませんが、次のようになります。

$array = [];
$keys = '[a][b][c]';
$value = 'HELLO WORLD';

$keys = explode('][', trim($keys, '[]'));
$reference = &$array;
foreach ($keys as $key) {
    if (!array_key_exists($key, $reference)) {
        $reference[$key] = [];
    }
    $reference = &$reference[$key];
}
$reference = $value;
unset($reference);

var_dump($array);

このような文字列でキーのシーケンスを定義する必要がある場合は、個々のキーの配列を作成するためにトリミングする必要はなく、展開できる単純なセパレータを使用する方が簡単なので、次のような単純なものの方a.b.cが簡単です。で作業する[a][b][c]

デモ

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ネストされたパスを示すキーの配列を指定して、連想配列のネストされた値を変更します

分類Dev

MongoDB-変数の名前を使用してネストされたフィールドを設定します

分類Dev

動的に作成されたフォーム値を使用して、phpでPOSTリクエストとして変数を設定します

分類Dev

その値とネストされた配列要素の値を使用して配列要素を合計します

分類Dev

jQuery:ネストされた配列内の複数のキーからすべての値を出力します

分類Dev

PHPを使用してネストされた配列の通常の配列を変換します

分類Dev

Ruby-キーの配列からネストされたハッシュの値を設定します

分類Dev

配列の長さを変数値として設定しますか?

分類Dev

foreachループを使用して、複数のフィールドのネストされた配列値を変更します

分類Dev

D3ネストされた値を使用してキーのスタイルを設定する方法

分類Dev

任意の数値キーとオブジェクト配列値を使用してネストされた辞書を解析する

分類Dev

Pythonのネストされたjsonのキーとして文字列変数を使用する

分類Dev

VueJSを使用してネストされた配列の増分カウンターを設定する方法

分類Dev

PHPを使用してキーと値で配列の設定を解除する

分類Dev

変数を使用してネストされた配列の値を編集する

分類Dev

AlamofireとSwiftを使用して、ネストされたJSON配列の値を返します

分類Dev

ネストされたドキュメントのキーとして変数を使用してマングースモデルをクエリします

分類Dev

caseステートメントを使用して宣言された変数の値を設定する

分類Dev

json_decodeを使用してギザギザのjson配列から複数のネストされた値を取得しようとしています

分類Dev

PHPで、ネストされた配列のtkeキーを使用して配列のキーを変更する方法

分類Dev

オブジェクトからネストされた配列値を使用して状態配列を設定します

分類Dev

配列要素をハッシュキーとして使用し、すべてのハッシュ値をすべて指定された値に設定して、配列をハッシュに変換する方法

分類Dev

javafx TableViewTableColumnsのソースとして可変サイズのネストされたオブジェクトの配列を設定する方法

分類Dev

ネストされたキーの配列を使用してPythonディクショナリ値を除外する

分類Dev

別の変数に設定された変数としてSETを使用してPHPUPDATEを使用しますか?

分類Dev

コンストラクターJavascriptを使用して、ネストされた配列内のキーと値のペアでキーを出力する方法

分類Dev

Javascript:ネストされたforループを使用して、ネストされた配列を単一の配列に変換します

分類Dev

ネストされたJSONオブジェクト配列を反復処理し、キーと値のペアとして保存します

分類Dev

事前設定された数の等しいキーを使用してU-SQLで列を作成します

Related 関連記事

  1. 1

    ネストされたパスを示すキーの配列を指定して、連想配列のネストされた値を変更します

  2. 2

    MongoDB-変数の名前を使用してネストされたフィールドを設定します

  3. 3

    動的に作成されたフォーム値を使用して、phpでPOSTリクエストとして変数を設定します

  4. 4

    その値とネストされた配列要素の値を使用して配列要素を合計します

  5. 5

    jQuery:ネストされた配列内の複数のキーからすべての値を出力します

  6. 6

    PHPを使用してネストされた配列の通常の配列を変換します

  7. 7

    Ruby-キーの配列からネストされたハッシュの値を設定します

  8. 8

    配列の長さを変数値として設定しますか?

  9. 9

    foreachループを使用して、複数のフィールドのネストされた配列値を変更します

  10. 10

    D3ネストされた値を使用してキーのスタイルを設定する方法

  11. 11

    任意の数値キーとオブジェクト配列値を使用してネストされた辞書を解析する

  12. 12

    Pythonのネストされたjsonのキーとして文字列変数を使用する

  13. 13

    VueJSを使用してネストされた配列の増分カウンターを設定する方法

  14. 14

    PHPを使用してキーと値で配列の設定を解除する

  15. 15

    変数を使用してネストされた配列の値を編集する

  16. 16

    AlamofireとSwiftを使用して、ネストされたJSON配列の値を返します

  17. 17

    ネストされたドキュメントのキーとして変数を使用してマングースモデルをクエリします

  18. 18

    caseステートメントを使用して宣言された変数の値を設定する

  19. 19

    json_decodeを使用してギザギザのjson配列から複数のネストされた値を取得しようとしています

  20. 20

    PHPで、ネストされた配列のtkeキーを使用して配列のキーを変更する方法

  21. 21

    オブジェクトからネストされた配列値を使用して状態配列を設定します

  22. 22

    配列要素をハッシュキーとして使用し、すべてのハッシュ値をすべて指定された値に設定して、配列をハッシュに変換する方法

  23. 23

    javafx TableViewTableColumnsのソースとして可変サイズのネストされたオブジェクトの配列を設定する方法

  24. 24

    ネストされたキーの配列を使用してPythonディクショナリ値を除外する

  25. 25

    別の変数に設定された変数としてSETを使用してPHPUPDATEを使用しますか?

  26. 26

    コンストラクターJavascriptを使用して、ネストされた配列内のキーと値のペアでキーを出力する方法

  27. 27

    Javascript:ネストされたforループを使用して、ネストされた配列を単一の配列に変換します

  28. 28

    ネストされたJSONオブジェクト配列を反復処理し、キーと値のペアとして保存します

  29. 29

    事前設定された数の等しいキーを使用してU-SQLで列を作成します

ホットタグ

アーカイブ