php自定义函数学习笔记实现99乘法表
使用自定义函数方式来实现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 |
总结一下
传值的话,如果是非对象,会传一个值的拷贝,对这个变量做任何改动都不影响原值。传引用或者传对象,是传真实的内存地址,对这个变量做的改动会影响原值。
相关文章
- 这篇文章主要给大家介绍了关于C#创建自定义控件及添加自定义属性和事件使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
- 为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
- 下面我们来看一篇关于Android自定义WebView网络视频播放控件开发例子,这个文章写得非常的不错下面给各位共享一下吧。 因为业务需要,以下代码均以Youtube网站在线视...2016-10-02
- 自定义一个jquery模态窗口插件,将它集成到现有平台框架中时,它只能在mainFrame窗口中显示,无法在顶层窗口显示. 解决这个问题的办法: 通过以下代码就可能实现在顶层窗口弹窗 复制代码 代码如下: $(window.top.documen...2014-05-31
- 这篇文章主要介绍了自定义feignClient的常见坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-20
- 今天小编就为大家分享一篇pytorch 自定义卷积核进行卷积操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-06
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证...2015-11-24- 这篇文章主要介绍了jquery自定义插件开发之window的实现过程的相关资料,需要的朋友可以参考下...2016-05-09
- 这篇文章主要介绍了Vue 组件复用多次自定义参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
- 我们在php中上传文件就必须使用#_FILE变量了,这个自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这...2016-11-25
- 1、简介Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目...2014-05-31
- 这篇文章主要介绍了C#自定义事件监听实现方法,涉及C#事件监听的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 当我们在星际中开地图和几家电脑作战的时候,电脑的几个玩家相当于结盟,一旦我们出兵进攻某一家电脑,其余的电脑会出兵救援。 那么如何让各家电脑知道自己的盟友被攻击了...2016-11-25
- 这篇文章主要介绍了使用BindingResult 自定义错误信息,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-23
- 这篇文章主要介绍了在Vue中获取自定义属性方法:data-id的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-09
- 举一个简单的date例子 我将使用echo命令把内容输出到我们的客户端(浏览器)。我将使用下面的代码做为基础代码。 代码如下 复制代码 <!DOCTY...2016-11-25
- 这篇文章主要介绍了微信小程序 Toast自定义实例详解的相关资料,需要的朋友可以参考下...2017-01-23
- 今天小编就为大家分享一篇pytorch 自定义参数不更新方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-29