Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在foreach循环中的一个特定选项上放置选定项_Php_Html_Forms_Select - Fatal编程技术网

Php 如何在foreach循环中的一个特定选项上放置选定项

Php 如何在foreach循环中的一个特定选项上放置选定项,php,html,forms,select,Php,Html,Forms,Select,我试图在foreach中的数组中的值上回显“selected”。如果表单为false,并且我的客户已经在我的选择中输入了特定值,请将其返回,这样他就不会再次填写!这就是我想做的 <?php $marques = array('Word','Word1','Word20','Word46','Word9797'); foreach ($marques as $marque => $value) { if (isset($_POST['

我试图在foreach中的数组中的值上回显“selected”。如果表单为false,并且我的客户已经在我的选择中输入了特定值,请将其返回,这样他就不会再次填写!这就是我想做的

<?php
 $marques = array('Word','Word1','Word20','Word46','Word9797');
        foreach ($marques as $marque => $value) 
        {
        if (isset($_POST['marque']) && $_POST['marque'] == $value[$_POST['marque']]) {
            echo '<option value="'.$_POST["marque"].'">'.$value[$_POST["marque"]].'</option>';
        }
            echo '<option value="'.$marque.'">'.$value.'</option>'; 
        }
?>

更改value属性中的内容不会使项目或多或少处于选中状态。您需要添加所选属性,请参见

输出:ed html应该如下所示:

<option value="id" selected>some text</option>
一些文本

你是说这个

<?php
    $marques = array('Word','Word1','Word20','Word46','Word9797');

    foreach ($marques as $marque => $value) {
        $setItSelected = '';
        if (isset($_POST['marque']) && $_POST['marque'] == $marque) {
            $setItSelected = 'selected';
        }

        echo '<option value="'.$marque.'" '.$setItSelected.'>'.$value.'</option>';
    }
?>


与“”之间存在一些错误,但谢谢!这很好:)干得好!这正是我想要的。很简单,干净,干净。谢谢实际上,有一个错误。如果在该选项为空时按“提交”按钮,它将放置第一个选项,而不是空选项。这不是错误。我刚刚更改了您的代码,以便在ReceiveBy POST参数位于数组中时,能够将选择选项更改为选定状态。
<?php
$marques = array('Word', 'Word1', 'Word20', 'Word46', 'Word9797');

foreach ($marques as $marque) 
   echo '<option value="'.$marque.'" '.(($marque == $_POST['marque']) ? 'selected' : '').'>'.$marque.'</option>';
?>
<?php
    $marques = array('Word','Word1','Word20','Word46','Word9797');

    foreach ($marques as $marque => $value) {
        $setItSelected = '';
        if (isset($_POST['marque']) && $_POST['marque'] == $marque) {
            $setItSelected = 'selected';
        }

        echo '<option value="'.$marque.'" '.$setItSelected.'>'.$value.'</option>';
    }
?>