Php 我想知道如何将双值作为数组传递,并在另一端接收它们这就是我的代码:

Php 我想知道如何将双值作为数组传递,并在另一端接收它们这就是我的代码:,php,Php,我试图传递一个双精度值,它是标记中的数组。如何接收阵列并在另一侧拆分阵列?这是我的代码: <?php print("<select name='dsc[]' multiple='multiple' id='searchable-select' multiple>"); //Create new SQL object $db = new NSC_SQL($db2config); $db->from($qadbifld, "dbifld, substr(dbitxt,1

我试图传递一个双精度值,它是标记中的数组。如何接收阵列并在另一侧拆分阵列?这是我的代码:

<?php
 print("<select name='dsc[]' multiple='multiple' id='searchable-select' multiple>");
//Create new SQL object  
$db = new NSC_SQL($db2config);
$db->from($qadbifld, "dbifld, substr(dbitxt,1,25) as FLDTEXT");
$db->where("upper(dbiatr)='PF' and (DBILIB='".$nscmod72d."' or DBILIB='".$aedata72."')    ");
$db->group("dbitxt,dbifld");
$db->order("dbitxt,dbifld");
$db->select();
$results = $db->fetchAssoc();
foreach($results as $row)
{
    $fieldName = trim($row['DBIFLD']);
    $fieldDesc = trim($row['FLDTEXT']);
    print("<option VALUE='$fieldDesc,$fieldName'>$fieldDesc  -  $fieldName  </option>");
}
print("</select>");
?>

您似乎将这些值与
连接在一起,然后用
拆分它们。您必须使用相同的分隔符进行连接和拆分。

您有多个选择元素

考虑下面的代码

<?php
if(isset($_POST) && !empty($_POST)){
    $dsc = $_POST['dsc'];

    foreach ($dsc as $val){

        $data = explode(",", $val);
        $fieldDesc = $data[0]; 
        $fieldName = $data[1];

        echo "<input type=hidden name='dsc[]' value='$fieldDesc'>";
    }
}

?>

<form action="" method="post">
<select name='dsc[]' multiple='multiple' id='searchable-select' multiple size="7">
    <option value="a,1">a,1</option>
    <option value="b,2">b,2</option>
    <option value="c,3">c,3</option>
    <option value="d,4">d,4</option>
    <option value="e,5">e,5</option>
</select>
<input type="submit" value="Submit"></input>
</form>

警告:explode()要求参数2为字符串,数组给定inI将继续获得这两个警告。警告:explode()要求参数2为字符串,数组在///中给出警告:为中的foreach()提供的参数无效!我确实注意到了这一点,并在发布后立即对其进行了更改。进行了更改,但仍然存在相同的问题。我对您的脚本如何协同工作感到困惑,但是如果您命名一个输入
dsc[]
,那么
$\u POST['dsc']
将是一个数组,而您不能
分解
一个数组。dsc[]使用多选框可以从数据库中提取多个值并将其显示在表中。我找到了使其工作的方法。我用嵌套的foreach语句将其分解
<?php
if(isset($_POST) && !empty($_POST)){
    $dsc = $_POST['dsc'];

    foreach ($dsc as $val){

        $data = explode(",", $val);
        $fieldDesc = $data[0]; 
        $fieldName = $data[1];

        echo "<input type=hidden name='dsc[]' value='$fieldDesc'>";
    }
}

?>

<form action="" method="post">
<select name='dsc[]' multiple='multiple' id='searchable-select' multiple size="7">
    <option value="a,1">a,1</option>
    <option value="b,2">b,2</option>
    <option value="c,3">c,3</option>
    <option value="d,4">d,4</option>
    <option value="e,5">e,5</option>
</select>
<input type="submit" value="Submit"></input>
</form>