我有一个php函数,允许用户在所有8个模块完成后生成PDF证书。
sequelize.define('Model', {attrs}, {validate: false})
$ sname ['8']指的是实际的表行,即DB中包含以下行:1,2,3,4,5,6,7,8,每个行都为'Yes'或'否'表示是否通过。
但是我要添加一门新课程,只需6个模块即可完成。我可以在以下变量中获取完成所需模块数量的适当值:
<?php if($sname['8']=="Yes"){ ?>
//show button to create PDF
<?php } ?>
根据课程可能是8或6。因此,我需要更改以下内容,以使用$ courseDetails ['modules']代替硬编码的'8',但我不理解实现此目的的语法。
例如
echo $courseDetails['modules']; //could be 8 or 6
任何帮助表示赞赏。
答案 0 :(得分:0)
我建议您使用数字数组而不是当前的关联版本。当前,您使用字符串键(值'1'
,'2'
,'3'
..)。尽管可以使用关联数组,但使用数字数组将简化确定数组长度和处理其单个元素的任务。
为了找出可以通过多少标准
$criteria=array('No','No','No','No','No','No'); // define the criteria
// Now, check how many elements there are:
$critcount=count($criteria) // = 6
但是,您需要知道数组中的第一个元素具有索引0
而不是1
,因此要检查第六个元素,您可以这样做:
$num=6;
if(criteria[$num-1]=="Yes"){ /* do something */ }