Php 把if和Else语句转换成我能回应的东西?
基本上,下面这段代码就是我目前使用的php,可以正常工作,并且“转换”非常完美,但是我确实想把它放在一个已经可以正常工作的字符串中Php 把if和Else语句转换成我能回应的东西?,php,if-statement,echo,Php,If Statement,Echo,基本上,下面这段代码就是我目前使用的php,可以正常工作,并且“转换”非常完美,但是我确实想把它放在一个已经可以正常工作的字符串中 $level0 = 0; $level1 = 24999; $level2 = 49999; $level3 = 74999; $level4 = 99999; $level5 = 124999; if ($myallcreadits < $level0) { echo('LEVEL0
$level0 = 0;
$level1 = 24999;
$level2 = 49999;
$level3 = 74999;
$level4 = 99999;
$level5 = 124999;
if ($myallcreadits < $level0) {
echo('LEVEL0'); }
if ($myallcreadits < $level1) {
echo('LEVEL1'); }
if ($myallcreadits < $level2) {
echo('LEVEL2'); }
if ($myallcreadits < $level3) {
echo('LEVEL3'); }
if ($myallcreadits < $level4) {
echo('LEVEL4'); }
if ($myallcreadits < $level5) {
echo('LEVEL5'); }
$level0=0;
$level1=24999;
$level2=49999;
$level3=74999;
$level4=99999;
$level5=124999;
如果($myallcreadits<$level0){
echo('LEVEL0');}
如果($myallcreadits<$level1){
回声('LEVEL1');}
如果($myallcreadits<$level2){
回声('LEVEL2');}
如果($myallcreadits<$level3){
回声('LEVEL3');}
如果($myallcreadits<$level4){
回声('LEVEL4');}
如果($myallcreadits<$level5){
回声('LEVEL5');}
i、 e我的示例是在页面下方实现以下示例:
$details='<div id="level">'.$level.'</div>'
$details=''.$level''
我希望它能反映出当前的水平,这取决于它在不同的位置是否低于或等于当前水平,因为我不想反映当前水平的当前位置。这样做吗
<?php
$level0 = 0;
$level1 = 24999;
$level2 = 49999;
$level3 = 74999;
$level4 = 99999;
$level5 = 124999;
$myallcreadits = 24543;
if ($myallcreadits < $level0) {
$level='LEVEL0'; }
elseif ($myallcreadits < $level1) {
$level='LEVEL1'; }
elseif ($myallcreadits < $level2) {
$level='LEVEL2'; }
elseif ($myallcreadits < $level3) {
$level='LEVEL3'; }
elseif ($myallcreadits < $level4) {
$level='LEVEL4'; }
elseif ($myallcreadits < $level5) {
$level='LEVEL5'; }
echo $details='<div id="level">'.$level.'</div>'; //Prints LEVEL1
你喜欢这样做吗
<?php
$level0 = 0;
$level1 = 24999;
$level2 = 49999;
$level3 = 74999;
$level4 = 99999;
$level5 = 124999;
$myallcreadits = 24543;
if ($myallcreadits < $level0) {
$level='LEVEL0'; }
elseif ($myallcreadits < $level1) {
$level='LEVEL1'; }
elseif ($myallcreadits < $level2) {
$level='LEVEL2'; }
elseif ($myallcreadits < $level3) {
$level='LEVEL3'; }
elseif ($myallcreadits < $level4) {
$level='LEVEL4'; }
elseif ($myallcreadits < $level5) {
$level='LEVEL5'; }
echo $details='<div id="level">'.$level.'</div>'; //Prints LEVEL1
最好使用一些动态级别值
$levels = array(1 => 0, 24999, 49999, 74999, 99999, 124999);
$myallcreadits = 60000;
$current_level = 0;
foreach($levels as $index => $level)
{
if ($myallcreadits > $level)
$current_level = $index;
}
echo $current_level;
最好使用一些动态级别值
$levels = array(1 => 0, 24999, 49999, 74999, 99999, 124999);
$myallcreadits = 60000;
$current_level = 0;
foreach($levels as $index => $level)
{
if ($myallcreadits > $level)
$current_level = $index;
}
echo $current_level;
真的,为什么要这样做?您的逻辑有错误:您将用新值覆盖旧值,因为如果$myallcreadits<49999
,则显然也是<124999
。另外,使用数组-如果你有50个级别怎么办
$levels = [
'LEVEL0'=>0,
'LEVEL1'=>24999,
'LEVEL2'=>49999,
'LEVEL3'=>74999,
'LEVEL4'=>99999,
'LEVEL5'=>124999
];
//$myallcreadits=50000;
$filter = array_filter($levels, function($x) use ($myallcreadits)
{
return $x<$myallcreadits;
});
end($filter);
$result = key($filter);
$details='<div id="$result">'.$result.'</div>';
真的,为什么要这样做?您的逻辑有错误:您将用新值覆盖旧值,因为如果$myallcreadits<49999
,则显然也是<124999
。另外,使用数组-如果你有50个级别怎么办
$levels = [
'LEVEL0'=>0,
'LEVEL1'=>24999,
'LEVEL2'=>49999,
'LEVEL3'=>74999,
'LEVEL4'=>99999,
'LEVEL5'=>124999
];
//$myallcreadits=50000;
$filter = array_filter($levels, function($x) use ($myallcreadits)
{
return $x<$myallcreadits;
});
end($filter);
$result = key($filter);
$details='<div id="$result">'.$result.'</div>';
所以你似乎想要达到的是把你的学分分为几个等级
$level = ceil( ($credits + 1) / 25000);
if ($level < 0) $level = 0;
if ($level > 5) $level = 5;
$leveltext = 'LEVEL' + $level;
echo $leveltext;
$level=ceil(($credits+1)/25000);
如果($level<0)$level=0;
如果($level>5)$level=5;
$leveltext='LEVEL'+$LEVEL;
回显$leveltext;
然而,我认为你应该试着运行你的代码,因为它会打印出来:LEVEL1LEVEL2LEVEL3LEVEL4LEVEL5,所以你似乎想要达到的是将你的学分分为几个级别
$level = ceil( ($credits + 1) / 25000);
if ($level < 0) $level = 0;
if ($level > 5) $level = 5;
$leveltext = 'LEVEL' + $level;
echo $leveltext;
$level=ceil(($credits+1)/25000);
如果($level<0)$level=0;
如果($level>5)$level=5;
$leveltext='LEVEL'+$LEVEL;
回显$leveltext;
但是,我认为您应该尝试运行代码,因为它会打印出来:LEVEL1LEVEL2LEVEL3LEVEL4LEVEL5我怀疑。它与OP的逻辑有相同的错误:对于$myallcreadits
@AlmaDo的小值,它总是会导致LECEL5
,这是正确的elseif
应该解决问题吗?是的,它会解决问题。但这很奇怪,这会解决问题,但我认为这应该是一个函数+不管怎样,我怀疑。它与OP的逻辑有相同的错误:对于$myallcreadits
@AlmaDo的小值,它总是会导致LECEL5
,这是正确的elseif
应该解决问题吗?是的,它会解决问题。但这很奇怪,这会解决问题,但我认为这应该是一个函数+1不管怎样。这是可行的,但是等级有点混乱,目前60000的等级是2。当它应该是3级的时候。太棒了!我试过一个数组,但没能掌握得那么好!但我确实有点理解,因为我和你差不多在同一时间了解到了这一点!非常感谢你!这是可行的,但是等级有点混乱,目前60000的等级是2。当它应该是3级的时候。太棒了!我试过一个数组,但没能掌握得那么好!但我确实有点理解,因为我和你差不多在同一时间了解到了这一点!非常感谢你!那么,有没有办法使每25000美元上升一个水平呢??我猜最大值是125k?@user1077369这是一个样本。你可以用它来定义你自己的limitWell有没有办法让每25000美元上升一个级别??我猜最大值是125k?@user1077369这是一个样本。您可以使用它并定义自己的限制