函数中我们参数传递在很多情况下都是传递变量的数值,然后根据这个数值在函数体内进行运算或return或输出某些我们想要得到的东西,但是有些特殊情况我们不容易通过传递数值的方式得到我们需要得到的东西,比如通过一个学生买课id我们可以得到这个课程的图片名称和这个课程的名称,如果这个函数在一个类内部,我们可以设置一个属性或者两个属性然后运行这个方法赋值,然后再使用,如果不在类内部,我想我们就选择使用两个方法分别得到图片名称和课程名称或者将两者写入一个数组中return出来,但是这只是理想状态下,如果我们要得到三个值甚至三个数组,我们应该怎么办?
这里就需要用函数参数的地址传递了,它的核心思想是对变量自身的增加不受制于局部变量的控制!
通过地址传递参数需要用到&符号!示例:
function prevnext (int x, int& prev, int& next)
{
prev = x-1;
next = x+1;
}
int x=100, y, z;
prevnext (x, y, z);
echo '上一个数字'.y.'<br />下一个数字'.x;
虽然这个示例很短小,但是很清晰的表明了上面一段话的意思,相信聪明的人能够得到提示!
这里就需要用函数参数的地址传递了,它的核心思想是对变量自身的增加不受制于局部变量的控制!
通过地址传递参数需要用到&符号!示例:
function prevnext (int x, int& prev, int& next)
{
}
int x=100, y, z;
prevnext (x, y, z);
echo '上一个数字'.y.'<br />下一个数字'.x;
虽然这个示例很短小,但是很清晰的表明了上面一段话的意思,相信聪明的人能够得到提示!