2012-01-15 110 views
-2

我在這裏有一個奇怪的問題。我使用在PHP(使用CakePHP),其具有如下形式的關聯數組:以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'''''的鍵和值。事實上,我希望將數組$ my_array和'data ['e']'的所有元素作爲相應數組的鍵和值(而不是數組)。

請幫忙嗎?

PS這似乎只有當我做了調試介紹CakePHP的情況發生,如果我不使用CakePHP似乎一切都很好,「數據」來自一個cURL發佈的數據把CakePHP

+0

''data ['a'] ['b'] =>'value1'是語法無效。這些數據來自哪裏?它如何被視爲數組?請顯示一個更完整的例子。 – deceze 2012-01-15 04:38:16

+0

「data」來自一個cURL發佈的數據到cakePHP – user765368 2012-01-15 04:43:58

+0

如果你將數據像'data [Foo] [bar] = baz&data [Foo] [baz] = bar'發佈到Cake,那麼是的,它被視爲一個數組。事實上,即使是普通的PHP也會將其視爲一個數組。這是你的問題嗎? – deceze 2012-01-15 04:45:25

回答

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)的$數據。

相關問題