单词Array显示为第一项

时间:2014-02-13 11:30:33

标签: php arrays

我从数组中获取值,这是从jQuery.serialize()只取一个输入字段。然后我将表单数据发送到sendMail页面。 在电子邮件中显示结果,单词Array是第一个单词,然后输入的值如下,其余数据显示正常。 我有四个arrays,并且在每个单词前面出现了Array。

$qty = $_POST['qty'];
foreach($qty as $value)
{
 $qty .= $value . "<br>";
}

$desc = $_POST['description'];
foreach($desc as $value)
{
 $desc .= $value . "<br>";
}

$options = $_POST['options'];
foreach($options as $value)
{
 $options .= $value . "<br>";
}

$price = $_POST['price'];
foreach($price as $value)
{
 $price .= $value . "<br>";
}

输入将是数量:1,描述:描述,选项:小,价格:1.99 输出是Array 1,Array description,Array options,Array small。

仅在第一行,其余行都可以。

3 个答案:

答案 0 :(得分:2)

你要连接到POST数组,你应该这样做:

$qty = $_POST['qty'];
foreach($qty as $value)
{
 $qty2 .= $value . "<br>";
}

echo $qty2;

答案 1 :(得分:1)

代码的每个部分都包含两者的不一致性,假设您将数组作为POST数据,然后将其指定为字符串。

$possible_array = $_POST['possible_array'];
foreach($possible_array as $value)
{
   $possible_array .= $value . "<br>"; // < - here you use $possible_array as a string
}

前进的方法应该是将字符串值分配给另一个字符串:

$possible_array = $_POST['possible_array'];
foreach($possible_array as $value)
{
   $string .= $value . "<br>"; // < - change to a new string
}

然而,你似乎不太可能在这里实际拥有数组中的POST数据,我猜你发送不同的项目,每个项目都有属性数量,描述等

我认为您希望使用一种解决方案,您可以将产品信息作为二维数组进行迭代(foreach),例如$_POST['products']['qty']其中products是一个数组。但为了进一步帮助您,您需要包含POST数据以查看其结构化/序列化。

答案 2 :(得分:0)

这是因为您将每个数组的值附加到数组本身。由于值是字符串,结果也变为字符串。因此,数组将隐式地转换为字符串,从而产生单词“Array”。

可能的解决方案:

$qtyList = implode('<br>' , $_POST['qty']);