我的PHP Implode功能不起作用

时间:2012-09-05 05:33:55

标签: php

我正在努力使这个内爆功能发挥作用。

这是表单部分,假设已选择所有项目。

<form method="post">
<select name="test1" multiple="multiple" id="test1">
   <option value="1">item1</option>
   <option value="2">item2</option>
   <option value="3">item3</option>
   <option value="4">item4</option>
   <option value="5">item5</option>
</select>
</form>

PHP部分

<?php
$var1 = array();
$joinedString = array();
$var1 = $_POST['test1'];
$joinedString = implode(',', $var1);
?>

但回显部分不起作用,它给我错误,只显示第一个数组值。

<?php
$echo $joinedString[0];
$echo $joinedString[1];
$echo $joinedString[2];
$echo $joinedString[3];
$echo $joinedString[4];
?>

谢谢你们,我在编程方面很新。我总是忘记了代码逐行执行,并且总是与变量和值混淆,是的,在现实世界中我也是一个笨拙的&amp;无足轻重的人。

8 个答案:

答案 0 :(得分:3)

<form method="post" action="sear.php">
 <select name="test1[]" multiple="multiple" id="test1">
   <option value="1">item1</option>
   <option value="2">item2</option>
   <option value="3">item3</option>
   <option value="4">item4</option>
   <option value="5">item5</option>
   <input type="submit" name="submit" value="submit" />
  </select>
</form>
<?php
   $var1 = array();
   $joinedString = array();
   $var1 = $_POST['test1'];
   $joinedString = implode(',', $var1);
   echo $joinedString;
?>

获得帖子后的价值肯定有用....试试吧......

答案 1 :(得分:2)

更改

<select name="test1" multiple="multiple" id="test1">

<select name="test1[]" multiple="multiple" id="test1">

它已经是一个数组

$var1 = $_POST['test1'];
    $imploded = implode(",", $var1);
    echo $imploded;
    //FOR GETTING INDIVIDUAL ITEMS FROM array
    echo $var1[0];

答案 2 :(得分:2)

使用

<select name="test1[]" multiple="multiple" id="test1">

在php文件中。

$var1 = isset($_POST['test1']) ? $_POST['test1']: 0 ;
print_r($var1); //gives array
foreach($var1 as $var) {
    echo $var;
}

答案 3 :(得分:0)

Implode没有得到任何数组。它适用于Array。

答案 4 :(得分:0)

您正在传递字符串而不是数组。 implode()将数组转换为字符串。

答案 5 :(得分:0)

在您的脚本中,$ _POST ['test1']将仅包含选择框的提交值,而不是整个值集。由于$ var1只包含一个字符串,因此implode()将出错。

答案 6 :(得分:0)

抬头看看:

http://www.tizag.com/phpT/php-string-implode.php

$与变量一起使用。

答案 7 :(得分:0)

您尝试使用(,)使用 implode 数组,但是后期数组值不包含以逗号分隔的值,因此您必须使用 {{3 }}

<?php
$var1 = array();
$joinedString = array();
$var1 = $_POST['test1'];
foreach($var1 as $values)
echo $values."<br/>";
?>

<form method="post">
<select name="test1[]" multiple="multiple" id="test1">
   <option value="1">item1</option>
   <option value="2">item2</option>
   <option value="3">item3</option>
   <option value="4">item4</option>
   <option value="5">item5</option>
</select>
<input type="submit" >
</form>