在 foreach 循环之前输出 PHP 全局变量



我想要全局变量中的"AM Appointment"字样打印在foreach循环上方。我只能在全局设置后在下面呼应它。如果我只是在循环上方回显它,如果没有结果,那么标题仍然会独立存在,我只希望在有结果时才在那里。也许我做错了,所以任何帮助都会很棒?

foreach
($data['Appointments'] as $person){
if($person['AppointmentType'] == "meeting1")
{
$GLOBALS['y'] = "AM Appointment";
echo $person['FullName'];
}
}
echo $y;

这是我的输出:

约翰·史密斯 乔·博格斯

上午预约

我想要的输出是:

上午预约

约翰·史密斯 乔·博格斯

仅在循环结束时回显。 将全名保存到变量中,直到需要它们。

foreach($data['Appointments'] as $person)
{
if($person['AppointmentType'] == "meeting1")
{
$appointmentType = "AM Appointment";
$names .= $person['FullName']." ";
}
}
echo $appointmentType."n";
echo $names;

如果您的约会类型可以不同,并且您的用户需要根据约会类型进行排序,则需要不同的方法:

foreach($data['Appointments'] as $person){
if($person['AppointmentType'] == "meeting1")
{
$sorted["AM Appointment"][] = $person['FullName'];
}
if($person['AppointmentType'] == "meeting2")
{
$sorted["PM Appointment"][] = $person['FullName'];
}
}
foreach($sorted as $typeName=>$names)
{
echo $typeName."n";
foreach($names as $key=>$name)
{
echo $name . " ";
}
echo "n";
}

最新更新