Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 把if和Else语句转换成我能回应的东西?_Php_If Statement_Echo - Fatal编程技术网

Php 把if和Else语句转换成我能回应的东西?

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

基本上,下面这段代码就是我目前使用的php,可以正常工作,并且“转换”非常完美,但是我确实想把它放在一个已经可以正常工作的字符串中

    $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这是一个样本。您可以使用它并定义自己的限制