`
xieye
  • 浏览: 828969 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

php和node的差异(2)-- 函数形参引用

阅读更多
$a = [1,3];
function change_arr($arr) {
    $arr[0] = 200;
}
change_arr($a);
var_dump($a);

php打印结果如下:
array(2) {
  [0]=>
  int(1)
  [1]=>
  int(3)
}


也就是说,php并没有改变原有的实际参数。
如果想改变,有两种方法,
第一种,改变函数定义
$a = [1,3];
function change_arr(&$arr) { // 只有这里加一个传引用符号
    $arr[0] = 200;
}
change_arr($a);
var_dump($a);


第2种:用返回值
$a = [1,3];
function change_arr($arr) {
    $arr[0] = 200;
    return $arr;
}
$a = change_arr($a);
var_dump($a);


上面这两种写法,都会导致改变。
结果如下:
array(2) {
  [0]=>
  int(200)
  [1]=>
  int(3)
}


===================================================================
===================================================================

这里开始node
var arr=[1,3];
function change_arr(arr2){
    arr2[0] = 200;
}

change_arr(arr);
arr.map((n)=>{
    console.log(n);
})


好家伙,直接修改实参。
下面是打印结果
200
3


所以node编程得小心~

前文链接:
php和node的差异(1)-- 作用域

0
0
分享到:
评论

相关推荐

    docker镜像node:18.15-alpine

    node:18.15-alpine镜像的tar文件 使用步骤(确保本地环境已经安装docker) 1、将tar包下载到本地 2、打开终端 3、进入到上述tar包的下载路径 4、运行docker load node-18.15-alpine.tar

    node-rtsp-stream, 通过 jsmpeg ( https ) 将任何RTSP流和输出流到 web socket.zip

    node-rtsp-stream, 通过 jsmpeg ( https ) 将任何RTSP流和输出流到 web socket node-rtsp-stream将任何RTSP流和输出输出到 web socket,以使用 jsmpeg 。 HTML5流视频( 需要 ffmpeg ) !使用方法:$ npm install ...

    node-red-3.1.9.zip 2024最新

    Node-RED是一个强大的工具,专为简化物联网(IoT)应用和自动化流程的开发而设计。这个开源项目由IBM创建并维护,它基于Node.js,允许用户通过图形化界面连接不同服务、API以及硬件设备,无需编写大量代码。在"node-...

    node-sass 4.12、4.14.1、5 node-sass-loader node_modules 安装包

    1. **版本兼容性**:确保Node-Sass和Sass-Loader版本之间以及它们与Webpack和其他相关库的版本兼容,避免出现不兼容导致的错误。 2. **配置Webpack**:需要在Webpack配置文件中正确设置Sass-Loader,指定它应该处理...

    node-v9.11.1-win-x64.zip

    报错缺少\github\eirslett\node\9.11.1\node-9.11.1-win-x64.zip 因为前端dubbo-admin-ui使用nodeJs,打包时maven需要下载一个node-9.11.1-win-x64.zip的安装包

    前端开源库-node-sass-css-importer

    2. **配置**:在你的`node-sass`编译配置中,添加`node-sass-css-importer`作为importer。例如,如果你使用Gulp: ```javascript const gulp = require('gulp'); const sass = require('gulp-sass')(require('...

    前端开源库-node-red-contrib-csvtojson

    `node-red-contrib-csvtojson`正是解决了在Node-Red中将CSV转换为JSON的需求,使得开发者可以更加方便地处理和利用这些数据。 这个开源库的工作原理是,它接收来自CSV文件或流的数据,然后使用内置的解析器将CSV...

    Node.js-node-gyp是一个Node.js原生插件构建工具

    `node-gyp` 集成了常见的编译工具,如 `gyp`(Google 编译工具包),使得在 Windows、macOS 和 Linux 上构建原生模块变得简单。 使用 `node-gyp` 的基本步骤包括: 1. **安装**:首先,确保你已经安装了 Node.js ...

    node_exporter-0.16.0.linux-amd64.tar.gz

    2. 移动可执行文件:将解压后的`node_exporter`二进制文件移动到系统路径中的可执行目录,如`/usr/local/bin`。 3. 配置启动服务:创建一个系统服务单元文件,以便通过`systemd`进行管理。 4. 启动服务:运行`...

    node.js -v16.20.2

     mv node-v16.20.2-linux-x64 node  sudo -s  cp -a /data1/tempobi/tempo/mids/node/bin/node /usr/local/bin/node  cp -a /data1/tempobi/tempo/mids/node/bin/npm /usr/local/bin/npm

    前端开源库-node-sass-middleware

    ** 描述提到“节点sass中间件,节点sass连接中间件”,这表明node-sass-middleware是用于Node.js应用中的一个中间件组件,其主要功能是处理SASS文件,将SASS代码编译为普通的CSS,以便浏览器能够理解和执行。...

    Node-red存储数据到Influxddb中.docx

    Node-Red则是一种基于Node.js的可视化编程工具,常用于快速构建和部署IoT解决方案。 首先,我们需要在Node-Red环境中安装InfluxDB相关的插件。这通常通过Node-Red的管理界面完成,进入管理界面后找到“ palette”...

    Node.js-Node-RED用于连接物联网的可视化工具

    在物联网领域,硬件操作是一个关键环节,Node-RED 提供了丰富的节点集,可以与各种硬件设备进行交互,如 Arduino、Raspberry Pi 或其他支持 MQTT 协议的传感器和执行器。这些节点允许用户通过简单的配置,实现对硬件...

    node-sass安装包

    在编译过程中,你可以设置各种选项来自定义Node-Sass的行为,如`outputStyle`(输出样式,可选'nested'、'expanded'、'compact'或'stripped'),`indentWidth`(缩进宽度,默认2个空格),以及`indentType`(缩进...

    node-v6.11.1-win-x64

    node-v6.11.1-win-x64 亲测可用 node-v6.11.1-win-x64 亲测可用 node-v6.11.1-win-x64 亲测可用 node-v6.11.1-win-x64 亲测可用

    前端开源库-node-express-json-rpc2-async

    "node-express-json-rpc2-master" 这个文件名可能代表了项目的主分支或者源码仓库,其中"master"通常表示Git版本控制中的主分支,存放着项目的主要代码和最新的稳定版本。 **详细知识点:** 1. **Node.js**:Node....

    node-red .zip

    - 社区活跃,有大量教程、示例和插件供学习和参考,促进了Node-RED的广泛应用和持续发展。 通过理解和熟练掌握`node-red-http`和`node-red-deployment`,你可以在Node-RED环境中构建高效、可扩展的IoT解决方案,并...

    node_exporter-0.18.1.linux-amd64.tar.gz

    node_exporter-0.18.1.linux-amd64.tar.gz node_exporter 下载太慢,故上传

    node-wifi-master

    在Node.js这个强大的JavaScript运行环境中,有一款名为“node-wifi-master”的库,它为开发者提供了在Node.js中处理WiFi连接和扫描的功能。本文将深入探讨这个工具的核心概念、功能及使用方法。 一、node-wifi-...

    前端开源库-node-red-contrib-securedhttp

    5. **身份验证与授权**:虽然Node-Red本身并不直接支持复杂的认证和授权机制,但SecuredHTTP节点可以配合其他Node-Red节点(如函数节点或HTTP请求节点)来实现基本的身份验证,如基础认证或OAuth。 6. **日志与监控...

Global site tag (gtag.js) - Google Analytics