我的页面中有这段代码:
$options = array("Repairing", "In guarantee", "Ended", "On Hold", "Waiting for quote");
?>
<select name='estadoRep[]' id='estadoRep'>
<?php foreach ($options as $option): ?>
<option value="<?php echo $option; ?>"<?php if ($estadoR[$i] == $option): ?> selected="selected" <?php endif; ?>>
<?php echo $option; ?>
</option>
<?php endforeach; ?>
此代码将设备的状态通过表单发送到另一个页面。
当我通过其他页面上的 POST 方法“接收”这些值时,如果数组中的所有状态 =“已结束”,我需要填充一个变量。如果所有 array[%i] = "Ended"变量 $status 应该填充:"Concluded"否则如果只有一个作为不同的值变量应该填充 "Pending";
我尝试了以下代码,但它不起作用。你能给我一些建议吗?谢谢
$estadoEquip = $_POST['estadoRep'];
$max = sizeof($estadoEquip);
for ($i=0; $i<$max; $i++) {
if ($estadoEquip[$i] = 'Ended')
$status= 'Concluded';
if ($estadoEquip[$i] != 'Ended')
$status= 'Pending';
}}
最佳答案
您的 PHP 代码中存在语法错误: 如果($estadoEquip[$i] == '结束') $status='结束';
您忘记了双“==”,所以您的 $estadoEquip 都等于“Ended”。
关于PHP - 使用数组值满足特定条件并执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658498/