Php 为什么是';选定的';没有出现?
有人知道为什么我的Php 为什么是';选定的';没有出现?,php,html,Php,Html,有人知道为什么我的中没有显示“selected”吗 $images中的键很可能是数字键,例如1=>“abc”。由于$\u GET始终包含字符串值,因此在$\u GET['images']===$key中使用的比较运算符永远不会为true。如果改用=,则字符串值中的数值和数字将匹配并包含“已选择” =为true,如果两个操作数具有相同的类型和值,对于=来说,操作数具有相同的值就足够了。是否将表单方法设置为GET,并且将images GET参数设置为“empty”?尝试使用==而不是===照片中的
中没有显示“selected”吗
$images中的键很可能是数字键,例如1=>“abc”
。由于$\u GET始终包含字符串值,因此在
$\u GET['images']===$key中使用的比较运算符永远不会为true。如果改用=
,则字符串值中的数值和数字将匹配并包含“已选择”
=
为true,如果两个操作数具有相同的类型和值,对于=
来说,操作数具有相同的值就足够了。是否将表单方法设置为GET,并且将images GET参数设置为“empty”?尝试使用==而不是===照片中的是您吗?:)。。。您能否打印$\u GET['images']
ie
的值,或使用错误日志
检查其是否具有预期值?@urban:高度怀疑;-)@是的,我的表格已经准备好了。get参数设置为“空”是什么意思?是的,它是一个索引数组。我试过你说的,但是如果我设置了$\u GET['images']==“$key”
,那么当我选择选择一个图像时,空的和值=1
都被选中:(我希望这是合理的,你不应该在引号中包含$key,$\u GET['images']==$key
是正确的。如果你只更改这一行,它会按预期工作。看看你为什么不将第一个图像设置为0?并且不知何故没有将其设置为0。现在我将“选择图像”合并到数组中,它的值为0,我所要做的就是循环,这使我的生活变得更轻松。
<p>
<select name="images" class="dropdown">
<option value="empty"
<?php if(isset($_GET['images']) && $_GET['images'] === "empty") {
echo 'selected';
} ?>>select an image</option>
<?php foreach ($images as $key => $image) { ?>
<option value="<?= $key; ?>"
<?php
if (isset($_GET['images']) && $_GET['images'] === $key) { // and true is equal to 1, but not identical
echo 'selected';
} ?>><?= $image; ?></option>
<?php } ?>
</select>
<?php
if (isset($_GET['images']) && $_GET['images'] == 'empty') { ?>
<span class="warning">Please select an image</span>
<?php } ?>
</p>
<p>
<input type="submit" name="submit" value="SUBMIT">
</p>