2017-02-09 30 views
1

htmlとphpでリストに配列を出力しようとしています。 私はそれのために使うコード:php foreach、リストを出力

<ul> 
<?php 
    foreach ($arrayData as $cart): 
     echo '<li>',$cart['name'], $cart['price'], $cart['amount'],'</li>'; 
    endforeach; 
?> 
</ul> 

このdosen't作品、またそれは、サイト(フッター)の残りの部分は全く示されていないEになります。

また、同じ問題が発生し、サイトの残りの部分が表示されなくなります。

<?php 
    foreach ($arrayData as $cart): 
     echo $cart['name']; 
    endforeach; 
?> 

私がvar_dumpを使用して$ cartを印刷すると、ホール配列が得られるので、配列にデータがあります。

のvar_dumpコード:

<?php 
    foreach ($arrayData as $cart): 
     var_dump($cart); 
    endforeach; 
?> 

のvar_dumpからの出力:

object(Product)#1 (4) 
{ 
    ["id":"Product":private]=> string(1) "1" 
    ["name":"Product":private]=> string(8) "Xbox One" 
    ["price":"Product":private]=> string(1) "0" 
    ["amount"]=> int(55) 
} 
+0

エラーが発生しましたか? – Jer

+0

@ C0dekidいいえ、注意... –

+0

'$ arrayData'のvar dumpを追加します – Machavity

答えて

3

$dataはオブジェクトであり、配列ではありません。

$array['key']は配列内の要素にアクセスするための表記法ですが、$object->keyはオブジェクト用の表記法です。

このお試しください:それは(原因要素のプライベートな性質のために)動作しない場合は、あなたがオブジェクトのクラスファイルにgetName()getPrice()getAmount()のような関数を宣言する必要がある場合があります

foreach ($arrayData as $cart): 
    echo '<li>' . $cart->name . ',' . $cart->price . ',' . $cart->amount . '</li>'; 
endforeach; 

をし、そのように使用します。

foreach ($arrayData as $cart): 
    echo '<li>' . $cart->getName(). ',' . $cart->getPrice(). ',' . $cart->getAmount(). '</li>'; 
endforeach; 

宣言の例機能getName()のために、あなたのオブジェクトのクラスファイルに:

public function getName() { 
    return $this->name; 
} 
+0

この '$ cart-> getName()'は動作すると思います – C2486

+0

データ型をpublicに変更し、最初のものを使用しました。うまく動作します、ありがとう。 –

+0

開始時に 'Output from var_dump'を入れると非常に早く解決されます。 – C2486

-1

あなたは$ arrayDataがオブジェクトデータではありませんか? この場合、$ cart-> nameを使用してみてください。

+1

あなたは元の回答が解決策ではないことを示すべきであるところで、あなたの答えをhttp://stackoverflow.com/revisions/42137871/1から完全に変更しました。 –

+0

どこに問題がありますか?...すべてが私が答えを変更したことを見ることができます.. –

+2

スタックプロフェッショナル:あなたの(新しい/現在の)回答の最初の半分は、コメントに属する明確化のために質問しています。あなたの答えの後半は推測とみなされ、OPに何かを試すように依頼します.IMHOはまた別のコメントとみなされます。あなたがそのコメントを投稿して、それが問題を解決したならば、OPはそれを回答として投稿するようにあなたを招待していた可能性があります。 –

関連する問題