php - 使用foreach循环更改数组的值而不修改
问题描述
我有一个示例代码。真奇怪!即使没有对定义的数组进行任何更改,但我定义的数组的值仍然发生了变化。
$myarr = array(1, 2, 3, 4);
foreach ($myarr as &$myvalue) {
$myvalue = $myvalue * 2;
}
print_r($myarr); // Output - Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )
你能解释一下,它是怎么发生的?
解决方案
推荐阅读
- node.js - 遍历对象并超出最大调用堆栈大小
- html - 无法在 django 应用程序中下载 pdf 文件?
- r - 如何在 R 中优化具有多个返回值的函数
- visual-studio-code - VS Code - 折叠代码块时隐藏右括号
- javascript - 使用正则表达式将字符串中的两个 delemeter 拆分后获取中间部分
- asp.net - 通过 ajax 调用 webmethod 时发生 500 内部服务器错误。这仅在实时服务器中发生,在 localhost 中工作正常
- google-cloud-platform - FAILED_NOT_VISIBLE 负载平衡中由 Google 管理的 SSL 证书
- java - 有没有什么简单的方法可以在按下特定按钮后重新运行方法/程序?
- javascript - 将变量内插为组件模板的内联样式参数?
- pandas - 高效的 Dataframe 列(对象)到 DateTime 的转换