Проблема, с которой мне нужна помощь, заключается в следующем, если:
<td>
<?php
if($result['Job']['no_of_searches']<'5')
{
echo '<span class="badge bg-warning">100</span>';
}
if($result['Job']['no_of_searches']>'5')
{
echo ‘PROBLEM-IS-HERE’;
}
?>
</td>
В поле PROBLEM-IS-HERE я хочу отобразить математический результат из:
<?php echo $result['Job']['no_of_searches']; ?> / <?php echo $result['Job']['total_autoaccepted']; ?> * 100
Но как я могу это сделать?
Это зависит от типа $result[$x][$y]
,
intval()
перед выполнением числовых операций над ним. В этом случае, однако, сравнение строк <'5'
может быть неуместным, потому что строка «10» считается ниже, чем строка «5», что, безусловно, не соответствует ожидаемому вами поведению.Если это целое число, код должен быть переписан следующим образом
if($result['Job']['no_of_searches'] < 5)
{
echo '<span class="badge bg-warning">100</span>';
}
if($result['Job']['no_of_searches'] > 5)
{
echo (int) (($result['Job']['no_of_searches'] * 100) / $result['Job']['total_autoaccepted']);
}
Изменить это с if($result['Job']['no_of_searches']<'5')
в if($result['Job']['no_of_searches']<5)
Я думаю, что это то, что вы хотите вместо (int) вы можете заменить свой тип данных, как float
Вы можете изменить тип данных вместо int как float
<?php echo (((int)$result['Job']['no_of_searches']/(int)$result['Job']['total_autoaccepted'])*(int)100) ?>
<?php
echo (($result['Job']['no_of_searches'] / $result['Job']['total_autoaccepted']) * 100);
?>