我对PHP知之甚少,感谢您的帮助。
我在PHP中创建了一个数据库查询和foreach循环,用于从数据库中获取数据, 这是我的foreach代码:
if($user->id != 0)
{
foreach ( $results as $result) {
$leftday = $result->dayleft;
$subsexp = "-";
if( strpos( $leftday, $subsexp ) !== false ) {
echo "Subscription Expired<br>";
} else {
echo "Subscription Active<br>";
}
}
}
这里结果如预期:
但是,如果没有任何“订阅活动”,我怎么才能显示一个“订阅已过期”文本?现在,当所有订阅过期时,它会显示4次“Subscription Expired”文本。
答案 0 :(得分:0)
如果你的意思是
&#34;当所有订阅过期时,只显示一次消息&#34;然后使用数组来存储结果(活动/过期)。一旦存储了所有结果,您就可以处理该数组(如果所有结果都已过期,则执行此操作)。 如果你像现在一样立即回复那些结果,而不存储结果,你就不能对它们采取行动,例如:
<?php
$results = [];
$results['active'] = 0;
$results['expired'] = 0;
if($user->id != 0)
{
foreach ( $results as $result) {
$leftday = $result->dayleft;
$subsexp = "-";
if( strpos( $leftday, $subsexp ) !== false ) {
$results['expired']++;
} else {
$results['active']++;
}
}
} //all expired
if(0 == $results['active']){
//do something
}