使用php函数对变量进行比较,PHP:将变量传递给函数,对变量进行处理,然后将其返回...

假设以下代码:

function doStuff($rowCount) {

$rowCount++;

echo $rowCount.' and ';

return $rowCount;

}

$rowCount = 1;

echo $rowCount.' and ';

doStuff($rowCount);

doStuff($rowCount);

doStuff($rowCount);

?>

所需的输出是

1 and 2 and 3 and 4 and

实际输出为

1 and 2 and 2 and 2 and

我想我是在误解在这种情况下“返回”是如何工作的.我怎样才能最好地做到这一点?

解决方法:

您要么必须将doStuff调用的返回值分配回本地$rowCount变量:

$rowCount = 1;

echo $rowCount.' and ';

$rowCount = doStuff($rowCount);

$rowCount = doStuff($rowCount);

$rowCount = doStuff($rowCount);

或者您通过放置&将变量传递为reference.在形式参数$rowCount之前:

function doStuff(&$rowCount) {

$rowCount++;

echo $rowCount.' and ';

return $rowCount;

}

现在,函数doStuff中的形式参数$rowCount引用的值与函数调用中传递给doStuff的变量的值相同.

标签:php,variables,return

来源: https://codeday.me/bug/20191012/1896654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值