如何在sprintf中放置条件

时间:2014-08-19 05:21:54

标签: php

我用这个循环回显查询的结果:

 $cds = toArray($result->GetClassDescriptionsResult->ClassDescriptions->ClassDescription);
 foreach ($cds as $cd) {
    $cdsHtml .= sprintf('<p><strong>%s</strong><br />%s<br />%s</p>', $cd->Name, $cd->Description, $cd->Prereq);
 }

 echo($cdsHtml);

这显示了一个类列表。有一个名为$cd->ScheduleType的参数,可以是"DropIn""Enrollment"。目前它正在显示这两种类型。我只想显示"DropIn"

我试过了:

 $cds = toArray($result->GetClassDescriptionsResult->ClassDescriptions->ClassDescription);
     foreach ($cds as $cd) {
// conditional
if ($cd->ScheduleType="DropIn"){

        $cdsHtml .= sprintf('<p><strong>%s</strong><br />%s<br />%s</p>', $cd->Name, $cd->Description, $cd->Prereq);
     }

}
echo($cdsHtml);

但这并没有过滤掉其他类型,并且由于某种原因也给了我很多重复的所有课程...任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:1)

if ($cd->ScheduleType = "DropIn") {

应输入为:

if ($cd->ScheduleType == "DropIn") {

找到有效的比较运算符here,找不到=

您正在做的是assignment,它基本上将$cd->ScheduleType设置为"DropIn",然后将该值用作if条件。由于该值是真实的(请参阅“转换为布尔值”here),因此它始终执行if正文。