网站建设教程【学习PHP】08. 算术运算

  这一堂课要讲的是算术运算子,什么是算术运算子呢?简易而言便是曾经的我们学的乘除法(+-*/)。

  话不多说,我们先来训练吧!

  加减法(+)与加减法(-)

  〈加减法〉

  示例:

<?php

$number = 10;
$value = $number + 1;
echo $value; 

?>


将右侧的值10带到第二行的右边$number(能够想成代用的定义),则10+1=11,当echo$value时,

  输出結果:

11 

 

假如你对上述的作法还不了解得话,还可以在第二行右侧再加小括号,

  小括号内的会先被测算,在视觉效果上也较为非常容易看懂。

  示例:

<?php

$number = 10;
$value = ($number + 1);
echo $value; 

?>

 

输出結果:

11

 

〈加减法〉

  示例(整数):

<?php

$number = 15;
$value = $number - 2 + 1;
echo $value;

?>

 

输出結果:

14 

 

示例(应用浮点数):

<?php

$number = 15.5;
$value = $number - 2 + 1;
echo $value; 

?>

 

输出結果:

14.5


如果你不确定性输出的值是整数還是浮点数,能够利用var_dump()检测

  示例:

<?php

$number = 15.5;
$value = $number - 2 + 1.5;
var_dump( $value );
echo $value;

?>

 

输出結果:

  float(15) 15

 

因而,我们可以从这一示例掌握,即使输出結果为整数,不代表PHP的分析便是整数(也是有可能是浮点数),但一般而言要是掌握PHP运行身后的基本原理,关键還是算出恰当的值就可以。

  加法(*)与除法(/)

  〈加法〉

  示例:

<?php

$number1 = 10;
$value1 = $number1 * 5;
echo $value1; 

?>

 

输出結果:

50

 

接下去利用var_dump()检测印出的标值是整数還是浮点数

  示例:

<?php

$number1 = 10.2;
$value1 = $number1 * 5;
var_dump( $value1 );
echo $value1;

?>

 

输出結果:

float(51) 51

 

示例:  

<?php

$number1 = 10;
$value1 = $number1 * 5;
var_dump( $value1 );
echo $value1;

?>

 

输出結果:

int(50) 50 

 

〈除法〉

  示例:

<?php

$number2 = 10;
$value2 = $number2 / 5;
var_dump( $value2 );
echo $value2; 

?>

 

输出結果:

int(2) 2

 

整数除于整数,var_dump()下仍是整数。


示例:

<?php

$number2 = 12;
$value2 = $number2 / 5;
var_dump( $value2 );
echo $value2; 

?>

 

输出結果:

float(2.4) 2.4


余数(%)


余数的定义:12除于5相当于2于2,余数为2,程序語言以百分数(%)为余数的表明标记。


示例:

<?php

$number3 = 12;
$value3 = $number3 % 5;
var_dump( $value3 );
echo $value3; 

?>

 

输出結果:

int(2)2 

 

先乘除后交互?


示例:

<?php

$result = 1 * 2 + 3;
echo $result; 

?>

 

输出結果:

5

 

那如果我们把1*2放进后边去,输出結果依然是5。


示例:

<?php

$result = 3 + 1 * 2;
echo $result; 

?>

 

输出結果:

 

如果我们把1*2改为2*2,输出結果为7。


示例:

<?php


$result = 3 + 2 * 2;
echo $result; 

?>

 

输出結果:

7

 

假如试着利用小括号让特殊运行内存块(3+2)先解决,输出結果为10。


示例:

<?php

$result = (3 + 2 ) * 2;
echo $result; 

?>

 

输出結果:

10


结论:先乘除后交互,但有小括号內部的值优先选择解决。 

 

看过这么多示例,是否能出示习题来试生产动作迅速呢?


没什么问题,这儿提前准备了一道习题能融合所述所教內容,

 

[训练]测算1783秒相当于几个小时一些几秒钟?


1.最先,先定义一个变量代表总分秒$total_seconds=1783


2.接下去定义一个变量代表钟头$hour,一小时代表60秒*60分,


因而$hour=$total_seconds/(60*60),而时数为整数,


可利用intval()英语的语法,将回答没有理由舍弃成整数,


则$hours=intval($total_seconds/(60*60));


3.接下去定义一个变量代表分鐘$minutes,


一小时有60分鐘,因此 $total_seconds/60是总分鐘数,


再用总分鐘数除于60,除的尽的便会变为钟头(钟头的值已在第二流程解决)


除不尽的余数便是分鐘数。因而公式计算可写出$minutes=($total_seconds/60)%60,这些若较为难了解可以用以下方法带到数据看一下


若$total_seconds=1783秒


1783秒/60秒=29.717分


29.717分/60分(1小时)除不尽.,因此 余数是29.717分(29分43秒)


若$total_seconds=368三秒


368三秒/60秒=61.383分


61.383分/60分(1小时)除的尽.,因此 余数是1.383分(1小时一分23秒)


但这时分鐘数会出现小数位难题,因而我们可以应用floor()英语的语法,将回答没有理由舍弃后再作为余数则$minutes=floor($total_seconds/60)%60;


4.接下去定义一个变量代表分秒,总分秒除于60的余数为分秒,因而公式计算能够立即写出$seconds=$total_seconds%60;


5.然后echo$hours.“钟头“.$minutes.“分鐘“.$seconds.“秒“;


6.回答为0钟头29分鐘43秒


示例:

$total_seconds = 1783;
$hours = intval($total_seconds / ( 60 * 60));
$minutes = floor($total_seconds / 60) % 60;
$seconds = $total_seconds % 60;
echo $hours . "小時" . $minutes . "分鐘" . $seconds . "秒";

 

输出結果:

0小時29分鐘 43秒 

 

由于大家早已把公式计算都设计方案好啦,接下去要是改动变量$total_seconds的值,就可以自动测算了!


假如你要想训练得话,还可以尝试把天(Day),训练看一下!


自动转型别


当php碰到一连串标值型的字符串与算术运算子时,会自动将型别转为数据求和


示例:

echo  "1" + "2";
var_dump("1" + "2"); 

 

輸出結果:

3 int(3) 

上述为数学课的基础计算,这堂课先到这儿,习题要做喔。上述为数学课的基础计算,这堂课先到这儿,习题要做喔。

 

 


联系我们

13751415268

853408942

:853408942@qq.com

:9:30-22:30

QR code