函数经常可以授受一些参数,这样在执行函数的时候,我们可以给它的参数传递具体的值,这样在函数的内部,就可以根据这些参数的值去算出结果。
比如这个简单的函数,现在我们让它可以授受一个参数 ... 在定义函数的时候,可以在函数名字后面的括号里,去给它指定参数 ... 这里给它先添加一个叫 $name 的参数 ... 如果还需要其它的参数,可以使用一个逗号分隔一下,再去添加其它的参数。
现在,在这个函数的里面,我们就可以使用这个 $name 参数了 ...
在 您好 这两个字儿的后面,连接这个参数 ... 如果再去执行这个函数的时候,我们需要给它的 $name 参数,提供一个具体的值 ...
function say_hello($name) {
return '您好 ' . $name;
}
在这个 say_hello 后面的括号里,输入一个值 .. 可以直接在这里输入值,或者也可以使用一个变量来代替 ...
echo say_hello('王皓');
这次显示的结果是,您好,后面加上我们在执行 say_hello() 函数的时候给它指定的 $name 参数的值 ...
make_list
下面,我们再去创建一个函数,比如在我的程序里面,经常需要把一个数组转换成一个列表显示出来 ... 根据这个需求,我们去创建一个函数 ...
先输入一个关键词 ... function ... 函数的名字可以叫做 make_list ... 创建列表的意思 .. 在括号里,再指定一下这个函数需要的参数 ... 我们需要用户把想要转换成列表的数组传递进来 ... 还需要指定一下列表的类型 ... 比如 ul 无序列表,或者 ol 有序列表 ...
第一个参数可以叫做 $source ... 用它来表示传递给函数的数组 ... 中间用一个逗号 ... 第二个参数可以叫它 $container .. 列表的容器 .. 在设置参数的时候, 可以直接给参数一个默认的值 ... 这样如果用户不给这个参数提供具体的值 ,就会使用这个默认的值 ... 我们给 $container 指定一个默认的值是 ul ...
function make_list($source, $container = 'ul') {}
下面, 再去设计一下这个函数具体要做的事 ... 首先,可以去判断一下,用户提供给这个函数的 $source 参数的值是不是一个数组 ... 如果是就去把它转换成列表 ... 如果不是,可以返回一个提示的信息,说明一下原因 ...
判断数据是不是数组,可以使用 PHP 给我们提供的 is_array 这个函数 ... 先用一个 if 语句 ... 判断的条件是 is_array ... $source .. 看一下 $source 的值是不是数组 ... 如果是,就是执行下面这块代码 ...
if(is_array($source)){}
可以先定义一个变量 ... 叫做 $lists ... 给它一个空白的值 ... 然后再用一个 foreach 语句 ,循环一下用户提供的数组 ... foreach ... $source as $item ... 在这个循环的内容, $item 就表示本次循环的数组里面的项目 ...
每次循环都去把项目的值添加给 $lists 这个变量 ... 这里我用了一个 点等于 ... 把循环的值加到 $lists 上面 ... 这样每次循环的时候, 就会把一组用 li 标签包装的数组项目添加到 $lists 上面。
$lists = '';
foreach ($source as $item) {
$lists .= '<li>' . $item . '</li>';
}
最后,再让这个函数返回这个列表 ... 可以在列表的周围添加一个容器 ... 这里我用的是双引号,所以可以直接在里面加上变量的名字 ..
return "<$container> $lists </$container>";
这样,如果用户给的是一个数组类型的数据 ... 就是返回一个列表 ... 如果给的不是数组类型的数据 ... 可以返回一个提供的信息 .. .
return '请提供数组类型的数据。';
下面,我们再去执行一下这个函数 ... 先去准备一个数组 ... (#粘贴)
然后输入函数的名字 .. 再去设置一下它的参数 ... 比如让它去把 $tracks 这个数组转换成一个列表 ... 把 $tracks 交给这个函数 ... 注意这里传递参数的顺序是很重要的。
输入一个逗号,再设置一下它的第二个参数 ... 如果不设置这个参数的话,就会使用这个参数的默认的值 .. 也就是 ul ... 这里还是先输入一个 'ul'
在前面再加上一个 echo ... 这样可以把函数返回的东西输出到屏幕上 ...
保存 ...
你会看到 ... make_list 这个函数根据用户提供的数组,做出了一个无序的列表 ...
下面, 把这个 ul 换成 ol ... 保存 ..
这次,又会得到一个有序的列表 ...
这样每次想根据某个数组去做一个列表的话,都可以去执行一下这个函数 ...