2017-02-22 5 views
2

Я передаю массив данных из AngularJS в PHP, и я в конечном итоге со следующими массива:значения Echo в гнездовой массив в PHP

if(in_array('application/json', $contentType)) { // Check if Content-Type is JSON 
    $data = json_decode($rawBody); // Then decode it 
    $productes = $data->products; 
} else { 
    parse_str($data, $data); // If not JSON, just do same as PHP default method 
} 

products:[ 
    0:{ 
    product: "Name1", 
    number: 1 
    }, 
    1:{ 
    product: "Name2", 
    number: 3 
    }  
] 

Как мне удалось перебрать это в конечном итоге отображение списка продуктов следующим образом:

<li>Name1 (1)</li> 
<li>Name2 (3)</li> 

Я попытался следующая, но не повезло:

foreach ($products as $value) { 
    echo "<li>". $value->product ." (". $value->number .")</li>"; 
} 

Это то, что я получить, когда я var_dump ($ продукты):

array(4) { 
    [0]=> 
    object(stdClass)#2 (3) { 
    ["product"]=> 
    string(19) "Croissant d'ametlla" 
    ["number"]=> 
    int(1) 
    ["preu"]=> 
    float(1.95) 
    } 
    [1]=> 
    object(stdClass)#3 (3) { 
    ["product"]=> 
    string(29) "Pain au chocolat (napolitana)" 
    ["number"]=> 
    int(1) 
    ["preu"]=> 
    float(1.4) 
    } 
    [2]=> 
    object(stdClass)#4 (3) { 
    ["product"]=> 
    string(16) "Brioche de sucre" 
    ["number"]=> 
    int(1) 
    ["preu"]=> 
    float(1.2) 
    } 
    [3]=> 
    object(stdClass)#5 (3) { 
    ["product"]=> 
    string(36) "Pa de blat egipci i integral (Xusco)" 
    ["number"]=> 
    int(1) 
    ["preu"]=> 
    float(4.45) 
    } 
} 

РЕШЕНИЕ

Как я уже intially декодирования JSON, это то, что в конечном итоге работает:

foreach ($products as $product) { 
    echo "<li>". $product->product ." (". $product->number .")</li>"; 
}; 
+0

пожалуйста, попробуйте 'var_dump ($ продукты)' и поделиться результатом – Mohammad

+0

@Mohammad см редактирования:) –

+1

Когда вы говорите "... но не повезло" , какой результат вы получили? Была ли ошибка? Что-нибудь показывало вообще? – IMSoP

ответ

4

Как это массив, дать следующую попытку:

foreach ($products as $value) { 
    echo "<li>". $value['product'] ." (". $value['number'] .")</li>"; 
} 
Смежные вопросы