webForumDet fria alternativet

Beräkning i funktion

PHP

3 svar · 525 visningar · startad av Jörgen HP

Medlem sedan feb. 20012 412 inlägg
Frågan#1

Hej!

Jag har sett på flera ställen att det ofta efterfrågas omvandling från byte till större enheter. Därför satte jag mig ner för att fixa en funktion till detta. Problemet är att den inte vill räkna rätt. Skriver jag ut kontrollvariabler verkar allt stämma, men resultatet blir fel. :(

Ser någon felet?

<?php

// $convertTo ger siffran nedan beroende på vilken omvandling man vill göra
// byte -> kilobyte = 1
// byte -> Megabyte = 2
// byte -> Gigabyte = 3
// byte -> Terabyte = 4
// $b är storleken i byte

$convertTo = 2;
$b = 1000;

	function myExp( $convertTo, $b  ) {	
                
      $expression = "";	
		
		for ( $i = 0; $i < $convertTo; $i++ ) {
			$expression .= "1024*";
		}

		$math = substr( $expression,0,strlen( $expression ) - 1 );

		$b = ( $b / ( $math ) );
	
		return $b;
	}

	print ( myExp( $convertTo, $b ) );

?>
Medlem sedan dec. 200012 464 inlägg
#2

Orkar inte titta igenom koden. Varför inte använda

pow

Medlem sedan feb. 20012 412 inlägg
#3

LarsG skrev:

Orkar inte titta igenom koden. Varför inte använda

pow

Ahh, letade som fanken efter en funktion för potenser/exponenter, tack LarsG. :)

Medlem sedan feb. 20012 412 inlägg
#4

Så här blev den till slut, lägger den i script-arkivet. :)

Tack för din hint LarsG. ;)

<?php

// $convertTo ger siffran nedan beroende på vilken omvandling man vill göra
// byte -> kilobyte = 1
// byte -> Megabyte = 2
// byte -> Gigabyte = 3
// byte -> Terabyte = 4

   $convertTo = 1;

// $dec anger antalet decimaler
   $dec = 5;

// $b är storleken i byte
   $b = 1000;

	function convert( $convertTo, $b, $dec  ) {		
		
		$expression = pow( 1024, $convertTo );		
		
		$b = number_format( $b / ( $expression ), $dec);
				
		return $b;
	}

	print ( convert( $convertTo, $b, $dec ) );

?>
257 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)