如何修复问题通知:
未定义变量: C:\wamp64\www\MyFolder\version1.1\fms\build\english\equipment.php中的B行904 警告: C:\wamp64\www\MyFolder\version1.1\fms\build\english\equipment.php ()要求参数2为数组,在第904行的in_array中为null
<div class="form-group">
<label class="custom-control custom-checkbox" style="margin-left: 10px; margin-right: 35px;">
<input type="checkbox" name="equipment[]" value="Tv" class="custom-control-input"
<?php
if (isset($_POST["equipment_id"]))
{
$id = $_POST['equipment_id'];
$query = mysqli_query("SELECT * FROM equipment WHERE id='$id'");
$row = mysqli_fetch_array($query);
$a = $row["equipment"];
$b = explode(",", $a);
print_r($b);
}
if (in_array("Tv", $b))
{
echo "checked";
}
?> >
<span class="custom-control-indicator"></span>
<img src="img/equipments/tv-icon.png" width="25px" height="25px">
<span class="custom-control-description">TVs</span>
</label>
<label class="custom-control custom-checkbox" style="margin-right: 35px;">
<input type="checkbox" name="equipment[]" value="Phone" class="custom-control-input">
<span class="custom-control-indicator"></span>
<img src="img/equipments/phone-icon.png" width="25px" height="25px">
<span class="custom-control-description">Phone</span>
</label>
<label class="custom-control custom-checkbox" style="margin-right: 35px;">
<input type="checkbox" name="equipment[]" value="Fan" class="custom-control-input">
<span class="custom-control-indicator"></span>
<img src="img/equipments/fan-icon.png" width="25px" height="25px">
<span class="custom-control-description">Fan</span>
</label>
<label class="custom-control custom-checkbox" style="margin-right: 35px;">
<input type="checkbox" name="equipment[]" value="Mirror" class="custom-control-input">
<span class="custom-control-indicator"></span>
<img src="img/equipments/mirror-icon.png" width="25px" height="25px">
<span class="custom-control-description">Mirrors</span>
</label>
</div>发布于 2017-11-24 05:15:20
根据我的注释,将in_array()条件放在isset()条件中。未定义变量的原因是$b只存在于isset()条件中。因此,当您离开isset()条件并尝试访问$b时,它会抛出错误
if (isset()){
#your isset() code
if(in_array()){
#in_array() code
} #place in_array() inside isset()
} # end isset()作为一个提示,一定要养成在使用前定义变量的习惯。最后,请使用准备好的语句进行查询。
发布于 2017-11-24 05:25:28
在php代码顶部,请声明数组$b
$b=array();在您的代码中,您将编写一个if条件,如果它不满足,那么$b变量是未定义的。因此,在条件之前,请声明数组如下。
$b=array();
if (isset($_POST["equipment_id"])) {
//your code
}谢谢
https://stackoverflow.com/questions/47466713
复制相似问题