2014-03-29 95 views
3

首先,我得說我對PHP很新,我試圖獲得一個可以使用foreach的PHP對象。將jQuery數組字符串轉換爲PHP數組

以下字符串通過$ .ajax()傳遞;我試圖把下面的字符串:

$menu = "[ 
{"title" : TEST1, "href" : #}, 
{"title" : TEST2, "href" : QWERTY}, 
{"title" : TEST3, "href" : QWERTY, "active" : 1} 
]" 

成和PHP對象,我可以使用foreach循環:

foreach($menu as $li){ 
    echo $li['title']; 
} 

我使用的最佳解決方案,用於創建菜單項或應我正在遵循另一種格式?

非常感謝您提前!

最好的問候, 阿歷克斯·G·

回答

6

這是一個JSON格式..它被打破..修正你的JSON數據如圖所示,並使用foreach

PHP

<?php 
$menu = '[{"title" : "TEST1", "href" : "#"}, 
{"title" : "TEST2", "href" : "QWERTY"}, 
{"title" : "TEST3", "href" : "QWERTY", "active" : 1}]'; 

foreach(json_decode($menu,true) as $k=>$arr) 
{ 
    echo $arr['title']."<br>"; 
} 

OUTPUT:

TEST1 
TEST2 
TEST3 
+1

我試過json_decode,它不工作。非常感謝,把QUOTES似乎已經修好了。 –

1

嘗試json_decode功能

<?php 

     $menu = '[ 
{"title" : TEST1, "href" : #}, 
{"title" : TEST2, "href" : QWERTY}, 
{"title" : TEST3, "href" : QWERTY, "active" : 1} 
]'; 
    $test=json_decode($menu); 
    print_r($test); 
    foreach($test as $ts) 
    { 
     echo $ts['title']; 
     echo "<br>"; 
    } 
?> 
+1

我已經嘗試過了,我沒有得到任何輸出。 –

+1

我應該將TEST1,TEST2等設置爲jQuery中的「TEST1」字符串嗎? –

+0

@GrozavAlexIoan看看字符串是JSON格式。 –