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.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...