2012-01-15 5 views
-2

私は奇妙な問題を抱えています。私は、次の形態を有する(CakePHPの使用)PHPの連想配列を使用している:角括弧を含むPHP文字列を配列ではなく文字列として受け取ります

$my_array = array(
    'data['a']['b'] => 'value1', 
    'data['b']['c'] => 'value2', 
    'data['b']['d'] => 'value3', 
    'data['e'] => array(
      'data['e1']['e2']' => 'value3', 
      'data['e1']['e3']' => 'value4')); 

私が抱えている問題は

'data['e1']['e2']' => 'value3' and 'data['e1']['e3']' => 'value4' 

このようなアレイ状に取り込まれることである。

'data['e1']' => array(
    ['e2'] => 'value3', 
    ['e3'] => 'value4'); 

私はこれらを配列としては欲しくないので、それらを配列のキーと値として取って欲しいです。 'data [' e ']'実際には、配列$ my_arrayとdata ['e'] 'のすべての要素を対応する配列のキーと値(配列ではない)としたいと考えています。

お願いします。内のデータをPOSTさ

PSこれは私は、CakePHPのデバッグを行う場合にのみ、私は、CakePHPを使用していない場合は、すべてがうまくと「データ」であるように思わ起こるようですが、CakePHPの

+0

'' [[a '] [' b '] =>' value1''は、確かに無効な構文です。そのデータはどこから来たのですか?どのように配列として扱われますか?より完全な例を示してください。 – deceze

+0

"data"はcURLからcakePHPに投稿されたデータから来ます – user765368

+0

'data [Foo] [bar] = baz&data [Foo] [baz] = bar'のようなデータをCakeにPOSTすれば、それは配列として扱われます。実際には、通常のPHPでもそれを配列として扱います。それはあなたの質問ですか? – deceze

答えて

1

あなたのコードは無効ですPHP。私の最高の推測では、それは次のようになりますということです。

$my_array = array(
    $data['a']['b'] => 'value1', 
    $data['b']['c'] => 'value2', 
    $data['b']['d'] => 'value3', 
    $data['e'] => array(
      $data['e1']['e2'] => 'value3', 
      $data['e1']['e3'] => 'value4')); 

$データの(print_rを使用して、インスタンスの)私たちに内容を表示してください。

関連する問題