2011-08-04 13 views
0
array(
    array('codcentrocustos' => 1, 'codparent' => null, 'name' => 'lorem ipsum'), 
    array('codcentrocustos' => 2, 'codparent' => 1, 'name' => 'lorem ipsum1'), 
    array('codcentrocustos' => 3, 'codparent' => 1, 'name' => 'lorem ipsum2'), 
    array('codcentrocustos' => 4, 'codparent' => 2, 'name' => 'lorem ipsum3'), 
    array('codcentrocustos' => 5, 'codparent' => 3, 'name' => 'lorem ipsum4'), 
    array('codcentrocustos' => 6, 'codparent' => null, 'name' => 'lorem ipsum5'), 
); 

こんにちは、私はこの配列を持っていますが、私はそれをjsonに変換する必要がありますが、この時点では問題はありません。問題は、それが必要なときにそれを作るPHPに関連しています。PHP配列の問題

私は彼の上のvar_dumpをしようとすれば、彼は私にそれを返す:

array 
    0 => 
    array 
     'codcentrocustos' => int 1 
     'codparent' => null 
     'name' => string 'lorem ipsum' (length=11) 
    1 => 
    array 
     'codcentrocustos' => int 2 
     'codparent' => int 1 
     'name' => string 'lorem ipsum1' (length=12) 
    2 => 
    array 
     'codcentrocustos' => int 3 
     'codparent' => int 1 
     'name' => string 'lorem ipsum2' (length=12) 
    3 => 
    array 
     'codcentrocustos' => int 4 
     'codparent' => int 2 
     'name' => string 'lorem ipsum3' (length=12) 
    4 => 
    array 
     'codcentrocustos' => int 5 
     'codparent' => int 3 
     'name' => string 'lorem ipsum4' (length=12) 
    5 => 
    array 
     'codcentrocustos' => int 6 
     'codparent' => null 
     'name' => string 'lorem ipsum5' (length=12) 

array 
    **0 =>** 
    array 
     'codcentrocustos' => int 1 
     'codparent' => null 
     'name' => string 'lorem ipsum' (length=11) 
    **1 =>** 
+0

あなたは参照番号なしの配列を持つことができません!どこに問題があるのか​​を正確に教えていただければ、より良い解決策を手助けすることができます。 – Shef

答えて

1

配列をJSONに変換するには、json_encodeを使用してください。どんな種類の変換も必要ありません。

$test = array(
    array('codcentrocustos' => 1, 'codparent' => null, 'name' => 'lorem ipsum'), 
    array('codcentrocustos' => 2, 'codparent' => 1, 'name' => 'lorem ipsum1'), 
    array('codcentrocustos' => 3, 'codparent' => 1, 'name' => 'lorem ipsum2'), 
    array('codcentrocustos' => 4, 'codparent' => 2, 'name' => 'lorem ipsum3'), 
    array('codcentrocustos' => 5, 'codparent' => 3, 'name' => 'lorem ipsum4'), 
    array('codcentrocustos' => 6, 'codparent' => null, 'name' => 'lorem ipsum5'), 
); 

print json_encode($test); 

出力

[{"codcentrocustos":1, 
    "codparent":null, 
    "name":"lorem ipsum"}, 
    {"codcentrocustos":2, 
    "codparent":1, 
    "name":"lorem ipsum1"}, 
    {"codcentrocustos":3, 
    "codparent":1, 
    "name":"lorem ipsum2"}, 
    {"codcentrocustos":4, 
    "codparent":2, 
    "name":"lorem ipsum3"}, 
    {"codcentrocustos":5, 
    "codparent":3, 
    "name":"lorem ipsum4"}, 
    {"codcentrocustos":6, 
    "codparent":null, 
    "name":"lorem ipsum5"}] 
+0

Yeh、youre right ...ありがとう! –

+0

問題が解決した場合は、その回答を受け入れることができます。 – Sukumar

+0

ここをクリックしてください...:D チップをありがとう... –

1

PHPがする必要があるとして、私はこれらのrefference番号なしで私の配列を必要とするという問題点その項目をいくつかのキーの下に格納し、デフォルトでは0から始まる連続した整数キーを使用します。配列の内容を表示すると便利です(var_dumpはデバッグ機能なので)。

あなたは、単にそれらを無視して、それらを持っていると関数を使用していないかのように、配列を扱うことができます:配列を横断してアクセスするためなど、array_pusharray_poparray_shiftarray_unshiftnextpreviouscurrent

0

これらのインデックスから離れることはできません。配列のすべての要素にはキーが必要です。それはまったくやむを得ないことです。あなたのような配列を作成

+0

ええ、私はそれをseengています...ありがとう男! –

1

:(あなたが最初の次元のためにやっているように)あなたが本当に何を言っているか配列のキーを指定しない場合

array(
    array('codcentrocustos' => 1, 'codparent' => null, 'name' => 'lorem ipsum'), 
    array('codcentrocustos' => 2, 'codparent' => 1, 'name' => 'lorem ipsum1'), 
    array('codcentrocustos' => 3, 'codparent' => 1, 'name' => 'lorem ipsum2'), 
    array('codcentrocustos' => 4, 'codparent' => 2, 'name' => 'lorem ipsum3'), 
    array('codcentrocustos' => 5, 'codparent' => 3, 'name' => 'lorem ipsum4'), 
    array('codcentrocustos' => 6, 'codparent' => null, 'name' => 'lorem ipsum5'), 
); 

は次のとおりです。

array(
    0 => array('codcentrocustos' => 1, 'codparent' => null, 'name' => 'lorem ipsum'), 
    1 => array('codcentrocustos' => 2, 'codparent' => 1, 'name' => 'lorem ipsum1'), 
    2 => array('codcentrocustos' => 3, 'codparent' => 1, 'name' => 'lorem ipsum2'), 
    3 => array('codcentrocustos' => 4, 'codparent' => 2, 'name' => 'lorem ipsum3'), 
    4 => array('codcentrocustos' => 5, 'codparent' => 3, 'name' => 'lorem ipsum4'), 
    5 => array('codcentrocustos' => 6, 'codparent' => null, 'name' => 'lorem ipsum5'), 
); 

これらの数字と異なる場合は、キーに値を割り当てます。キーが指定されていない場合、phpは通常、最も高い数値キー+1であるキーを割り当てます。