使用自定义函数方式来实现99乘法表,函数是一种可以在任何被需要的时候执行的代码块。
创建 PHP 函数:
所有的函数都使用关键词 “function()” 来开始
命名函数 – 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
添加 “{” – 开口的花括号之后的部分是函数的代码。
插入函数代码
添加一个 “}” – 函数通过关闭花括号来结束。
例子
一个简单的函数,在其被调用时能输出我的名称的:
代码如下 | 复制代码 |
<html> <body> <?php function writeMyName() { echo "David Yang"; } writeMyName(); ?> </body> </html> |
使用 PHP 函数
现在,我们要在 PHP 脚本中使用这个函数了:
代码如下 | 复制代码 |
<html> Hello world! |
下面我们来写用函数实现99乘法表
代码如下 | 复制代码 |
<php? /** * 9*9乘法表 * string fun_99(int $start=1, int $end =1,bool $sort=true ) * $start 起始数 必须在1-9之间 并且必须为整数 * $end 结束值 必须1-9之间 并且必须为整数并且要大于$start * $sort 表示排序,true表示正序,FALSE表示倒序 */ echo "<hr/>"; function fun_99($start=1,$end =9,$sort=true){ if ($start<1||$start>9){ return '起始数 必须在1-9之间'; } if ($end<1||$end>9){ return '结束值 必须在1-9之间'; } if($start!=(int)($start)){ return '起始数 必须为整数'; } if($end!=(int)($end)){ return '结束值 必须为整数'; } if($start>$end){ return '起始数必须小于结束值'; } $str = ''; if ($sort){ for ($i=$start;$i<=$end;$i++) { $str =$str."<br>"; for ($n=$start;$n<=$end;$n++) { if ($i >= $n) { $str=$str."$i*$n".'='.$i*$n." "; } } } }else{ for ($i=$end;$i>=$start;$i--) { $str =$str."<br>"; for ($n=$end;$n>=$start;$n--) { if ($i >= $n) { $str=$str."$i*$n".'='.$i*$n." "; } } } } return $str; } echo fun_99(1,9,true); ?> |
得到的结果和html一样
我想很多朋友都不知道在php中截取字符还可以使用{}形式哦,常用的都是substr来截取或自定函数截取了,下面我们一起来看看大括号截取字符法,希望能帮助到各位哦。
今天在一个博客源码中看到有$str{1}这种写法,当然非常的不理解是什么意思结果测试之后发现是字符截取了,下面来给各位举几个例子。
代码如下 | 复制代码 |
// 得到字符串中的第一个字节 $str = 'hupeng seo blog'; $first = $str{0}; // $first = h; echo $first; // 得到字符串中的第三个字节 $san = $str{2}; // $san=p; echo $san; // 得到字符串中的最后一个字节 $last = $str{strlen($str)-1}; // $last =g; echo $last; $a = "86-0769-22222222-"; if ($a{strlen($a)-1} == "-") $a = substr($a,0,strlen($a)-1); echo $a; |
其中 $a{strlen($a)-1}只在PHP5.0以上可用
注意:{}截取字符与substr功能是完全一样的在这里我就不给大家测试了,也算是一篇简单的php教程吧,入门级别的哦。
最近在学php,用php写个简单99乘法表,用到for循环,其实这个也可以改下放shell中,下面来看两个例子有兴趣的朋友可进入参考。for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
语法
PHP
代码如下 | 复制代码 |
for (initialization; condition; increment) { code to be executed; } |
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
例子
下面的例子会把文本 “Hello World!” 显示 5 次:
PHP
代码如下 | 复制代码 |
<html> |
下面再看看99乘法表这个的正序写法,要用到嵌套循环。
代码如下 | 复制代码 |
<?php /** 99乘法表正序 **/ for ($i=1;$i<=9;$i++) { echo "<br>"; for ($n=1;$n<=9;$n++) { if ($i >= $n) { echo "$i*$n".'='.$i*$n; echo " "; } } } ?> |
运行这个php得到的结果 :
下面想让这个乘法表倒序,其实只有for循环里面数字逐渐递减就可以。
代码如下 | 复制代码 |
<?php /** 99乘法表倒序 **/ for ($i=9;$i>=1;$i--) { echo "<br>"; for ($n=9;$n>=1;$n--) { if ($i >= $n) { echo "$i*$n".'='.$i*$n; echo " "; } } } ?> |
倒序显示如下:
PHP浮点数是否有小数了,我们要转换整理可能会丢失小数位数据了,下面我来给大家介绍PHP浮点数转换整型的一些事项,有兴趣的同学可进入参考。先我们来做个实验说明问题的存在
代码如下 | 复制代码 |
$f = 0.58; |
也许你认为他会输出58,但是实际上他输出的是57.
原因是作为浮点型数据,其精度已经损失了一部分,达不到完全精确。所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。
在实际的开发中我们可以使用如下逻辑来解决这种境况
代码如下 | 复制代码 |
intval(round(floatval($value) * 100)); |
round也可以使用ceil目的就是将精度调准。
在php中传值与传引用对于我们来讲是有比较大的区别的一个引用可以调用内存地址赋值了,这样只要内存地址中内容变化而赋值的变量也就变化了,付值只是把内存中值给其它变量而己。传值:
函数参数压栈的是参数的副本。
任何的修改是在副本上作用,没有作用在原来的变量上。
传引用:
压栈的是引用的副本。由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作。(作用和传指针一样,只是引用少了解指针的草纸)
例子
代码如下 | 复制代码 |
function func1($a) { $a = $a + 1;} |
例子
代码如下 | 复制代码 |
|
再比如:
代码如下 | 复制代码 |
<?php |
总结一下
传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。