Pereiti prie turinio

Mazas PHP uzdavinukas. Premija - 10lt.


Rekomenduojami pranešimai

Reikia, kad kiekviena skaiciu atitiktu tam tikras kodas.

Kas isspres uzdavinuka, sumokesiu 10lt.

 

1 - thx_thanks_told_suf_c

2-9 - thx_thanks_told_suf_a

10-20 - thx_thanks_told_suf_b

21 - thx_thanks_told_suf_c

22-29 - thx_thanks_told_suf_a

30 - thx_thanks_told_suf_b

31 - thx_thanks_told_suf_c

32-39 - thx_thanks_told_suf_a

40 - thx_thanks_told_suf_b

ir t.t

 

 

KODAS redagavimui:

 

if(($member['thanks_point'] <= 1) 
	OR ($member['thanks_point'] >= 9 AND $member['thanks_point'] <= 20) 
	OR (($member['thanks_point'] % 10 < 2) OR ($member['thanks_point'] % 10 > 4) AND ($member['thanks_point'] < 10 OR $member['thanks_point'] > 20)))
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_b'];
	}
	else
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_a'];
	}

 

 

Siame forume atsakau tik i PM

 

kontaktai:

skype: kiria4u777

email: kiria4u (@) yahoo.com

Redagavo kiria4u
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiek tiek nekonkreti užduotis dėl t.t. - tarkim, ar tas taškų skaičius gali būti neribojamo dydžio skaičius ar mažesnis už 100.

Taigi siūlyčiau tokius sprendimus:

 

Jei neribojamas taškų skaičiaus maksimumas:

if (($member['thanks_point']) <= 1 OR
($member['thanks_point']) % 100 > 20 AND ($member['thanks_point'] % 10 == 1))
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_c'];
	}
	elseif (($member['thanks_point'] % 10 == 0) OR
			($member['thanks_point'] % 100 > 10) AND ($member['thanks_point'] % 100 < 20))
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_b'];
	}
	else
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_a'];
	}

 

Arba jei ribojamas (šitas artimesnis pavyzdiniam kodui):

if (($member['thanks_point']) <= 1 OR
($member['thanks_point']) > 20 AND ($member['thanks_point'] % 10 == 1))
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_c'];
	}
	elseif (($member['thanks_point'] % 10 == 0) OR
			($member['thanks_point'] > 10) AND ($member['thanks_point'] < 20))
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_b'];
	}
	else
	{
		$lang_bit = $this->ipsclass->lang['thx_thanks_told_suf_a'];
	}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kiek elegantiskesnis algoritmas su neribojamu tasku skaiciumi

 

function parsePoints($points)
{
if($points>9 && $points<21)
{
	$points = 0;
} else
{
	while($points>10)
	{
		$points = $points % 10;
	}
}

switch($points)
{
	case 0:
		$return = 'thx_thanks_told_suf_b';
	break;
	case 1:
		$return = 'thx_thanks_told_suf_c';
	break;
	default:
		$return = 'thx_thanks_told_suf_a';
}

return $return;
}
$index = parsePoints($member['thanks_point']);
$lang_bit = $this->ipsclass->lang[$index];

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Sukurti naują...

Svarbi informacija

Informuojame, kad šiame puslapyje naudojami slapukai (angl. cookies). Sutikdami, paspauskite mygtuką „Sutinku“ arba naršykite toliau. Savo duotą sutikimą bet kada galėsite atšaukti pakeisdami savo interneto naršyklės nustatymus ir ištrindami įrašytus slapukus.