2016-12-15 250 views
0

我在Array中创建并且每次输出它时,都只显示一行。我想显示每一行。 下面是代码:带有PHP的foreach输出数组

//Input in Array 
$_SESSION['warenkorb'][] = array('warenkorb_id' => $_POST['a_id_warenkorb'], 'buchtyp' => $_POST ['buchtyp'], 'menge' => $_POST['menge']); 

//Array Output 
    foreach ($_SESSION['warenkorb'] as $index => $inhalt); 
      { 
      echo $inhalt['warenkorb_id']; 
      echo $inhalt['buchtyp']; 
      echo $inhalt['menge']; 
      } 

我希望有人能帮助我:) 卢卡斯

+0

第5行发生错误e结束。 ');'不正确。 – nmnsud

+0

输出中只有一行。您没有
,并且$ _SESSION数组中只有一行。 https://3v4l.org/oX82V – Andreas

+0

除了在你的foreach行结尾的';'它会起作用。如果您期望来自其他页面的值 - 您是否在每个页面上启动会话?你必须包含'session_start();'。 – Steve

回答

0

删除分号( “;”)在的foreach结束。

foreach ($_SESSION['warenkorb'] as $index => $inhalt) 
+0

分号不是问题,我想。 –

+2

分号是问题(;) – jayadevkv

+0

看看这个例子 - 有和没有一个分号 - http://sandbox.onlinephpfunctions.com/code/270e63395435833806102b6a85d471fc19099556 – Steve

0
  1. 页面加载只有一次,所以你只能得到一个阵列
  2. 只有一个数组,所以你就disolays一行只
  3. 在文件

尝试的开始添加session_start(); This

<?php 
session_start(); 
$_SESSION['warenkorb'][] = array('warenkorb_id' => $_POST['a_id_warenkorb'], 'buchtyp' => $_POST ['buchtyp'], 'menge' => $_POST['menge']); 

//Array Output 
    foreach ($_SESSION['warenkorb'] as $index => $inhalt); 
      { 
      echo $inhalt['warenkorb_id']; 
      echo $inhalt['buchtyp']; 
      echo $inhalt['menge']; 
      } 
?>