在程序运行时变量临时存放数据,函数处理数据。变量与函数的配合,实现各种功能效果。函数是非常非常重要的,它把有一定功能的代码打包起来,需要处理数据时就调用相应功能的函数。编程时,楠神是建议多去写函数,而不是实现多个功能的代码紧紧地写一起,老长老长的,这样的编程习惯不好,易出错,不易后期维护。程序员自己写的代码会很快忘记的,所以要有多写函数,多写注释的好习惯。
楠神出几个测试题,练习下定义各种功能的函数。
1、
写一个函数,可以输入一个数字参数,判断该数字是否是一个“素数”。如果是,就返回true,否则就返回false。
提示:素数的概念(含义)是:只能被1和它自己本身整除——在大于1的整数范围内。
2、
写两个函数,一个函数:从一个整数数组里求出最小数。一个函数:从一个整数数组中求出最小的奇数,如果没有奇数,则直接输出false,否则输出该数。
提示:不能整除的2的数是奇数。
3、
写2个函数,分别可以求得两个正整数的最大公约数和最小公倍数。
提示:
最大公约数就是能够同时整除该两个数的最大的那个。比如24和36的最大公约数是12
最小公倍数就是能够同时被该两个数整除的最小的那个。比如24和36的最小公倍数是72
4、
写一个函数,该函数可以将给定的任意个数的参数以指定的字符串串接起来成为一个长的字符串。该函数带2个或2个以上参数,其中第一个参数是用于将其他参数进行串联的连接字符串。比如调用该函数:
chuanlian(“-”, “ab”, “cd”, “123”); //得到结果为字符串:”ab-cd-123”
提示:可借助第32节课所讲的那3个PHP内置函数,还有count统计函数
5、
写一个函数,把一个二维数组按照其中一个下标组成三维数组,比如
[
0=>[ 'a'=>1,'b' =>2],
1=>[ 'a'=>1,'b' =>24],
2=>[ 'a'=>2,'b' =>44],
3=>[ 'a'=>2,'b' =>34],
]
按照下标‘a’做归类,形成下面的三维数组
[
1=>[
0=>[ 'a'=>1,'b' =>2],
1=>[ 'a'=>1,'b' =>24],
],
2=>[
0=>[ 'a'=>2,'b' =>44],
1=>[ 'a'=>2,'b' =>34],
]
]
函数需要传两个参数,第一个是数组参数,第二个是下标参数
6、写这样一个函数,假设有三个盒子(三个变量,作为函数的形参),里面装有沙子(变量的数值数据),用这三个盒子的沙子分先后顺序去填充一个新盒子(第四个形参)。假设能填满,就以数组的形式返回三个盒子的沙子容量,不能填满返回FALSE。
提示:第一个盒子的沙子为0了,就需要用第二个盒子沙子继续填充,如果还不满,就继续用第三个。用函数abs()可求一数字的绝对值。
这个题实际开发中会用到,比如设计用户的金额账户,需要在数据库中用三个字段(存数据的地方的名字)表示,例如银行充值的钱、微信充值的钱、支付宝充值的钱,用户有付款行为,需要从这三个字段中减去数字。