尝试自动选择下拉列表时出现 PHP 数组问题


PHP Array issue when trying to auto select dropdown

注意:$i在代码中设置得更早,并且有 25 个下拉框,数组显示前 5 个有值,所以我需要将这些下拉列表设置为选中并显示相关值。

我有一个包含以下内容的数组:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => [19] => [20] => [21] => [22] => [23] => [24] => )
$i=1;
for ($p=1; $p<=25; $p++){
  for ($pp=1; $pp<=5; $pp++){
   echo "<select id='rqa".$i."".$p."' class='business' name='q".$i."[]' onclick='mand();'> 
    <option value='' selected='selected'>".$rank."</option>
    <option value='".$pp."'"; 
        if (in_array($p, $arr)) echo 'selected';
    echo ">".$pp."</option>";
  }
}

我要做的就是将相关下拉列表设置为选中及其值。 有意义?

所做的只是将前 5 个下拉列表设置为选中,但它们的值为 5,而不是 1,2,3,4,5。

我遇到的问题

尝试以下代码...

$arr = array (1,2,3,4,5,'','','','','','','','','','','','','','','','','','','','');
$i=1;
for ($p=1; $p<=25; $p++){
    echo "<br><select id='rqa".$i."".$p."' class='business' name='q".$i."[]' onclick='mand();'>";    
    for ($pp=1; $pp<=5; $pp++){
        $selected = "";
        if ($pp == $arr[$p-1]){
            $selected = "selected='selected'";
        }
        echo "<option value='$pp' ". $selected .">".$pp."</option>";
    }
    echo "</select>";
}
<?php
$arr = ARRAY(0=>1, 1=>2, 2=>3, 3=>4, 4=>5, 5=>FALSE, 6=>FALSE);
$i=1;
for ($p=1; $p<=25; $p++){
  $arr_index = $p-1;
  echo "<select id='rqa".$i.$p."' class='business' name='q".$i."[]' onclick='mand();'>";
  for ($pp=1; $pp<=5; $pp++) {
    //<option value='' selected='selected'>".$rank."</option>
    echo "<option value='$pp'";
    if (isset($arr[$arr_index]) AND $pp == $arr[$arr_index]) echo " selected='selected'";
    echo ">".$pp."</option>";
  }
  echo "</select>";
  echo "<br /><br />";
}
?>

1.我将数组更改为代码数组而不是数组输出。

2.我在第 9 行添加了 myArray 名称。

试试这个:

    <?php
$myArray = Array( 1, 2, 3, 4, 5 );
for ($p=1; $p<=25; $p++){
  for ($pp=1; $pp<=5; $pp++){
   echo "<select id='rqa".$i."".$p."' class='business' name='q".$i."[]' onclick='mand();'> 
    <option value='' selected='selected'>".$rank."</option>
    <option value='".$pp."'"; 
        if (in_array($p, $myArray)) echo 'selected';
    echo ">".$pp."</option>";
  }
}
?>