<?php $tar = array('father'=>'rendy'); function test(array $arr){ $arr['father'] = 'test'; echo 'TEST>>'.$arr['father']; echo "\n"; } test($tar); echo $tar['father'];
输出
TEST>>test
rendy
<?php $tar = new stdClass(); $tar->father = 'rendy'; function test($obj){ $obj->father = 'test'; echo 'TEST>>'.$obj->father; echo "\n"; } test($tar); echo $tar->father;
输出
TEST>>test
test
总结一下
PHP5.3
argument 是 obj的时候 有副作用
argument 是 arr的时候 没有副作用
=============
这是为什么呢?
=============
这个得从对象赋值说起
<?php $par = new stdClass(); $par->father = 'rendy'; $tar = clone $par; $tar->father = 'par'; echo $tar->father."\n"; echo $par->father."\n";输出
相关推荐
这份“PHP函数实验报告”详细介绍了通过实验来理解和应用PHP函数的过程,旨在加深对PHP函数的理解并提升实践能力。 一、函数的基本概念 函数在PHP中扮演着核心角色,它们是一组执行特定任务的代码块。可以将函数...
**PHP函数详解** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发,可以嵌入到HTML中使用。PHP的核心特性之一就是其丰富的内置函数库,这些函数极大地简化了编程任务,提高了开发...
理解形参与实参的关系对于编写正确、有效的PHP函数至关重要。 1. 形参与实参的数量对应: 当定义函数时,我们会声明形参,它们在函数体内部作为变量使用。调用函数时,我们需要传递相应的实参。如果实参个数少于...
PHP函数是编程语言PHP中的核心概念,用于组织代码和实现特定功能。函数具有以下几个关键特点: 1. **命名唯一**:每个函数都有一个独特的名称,通过这个名称可以在代码的任何地方调用它。 2. **独立性**:函数能够...
这也提示我们,在使用PHP处理数组时,如果需要在函数内部修改数组,并希望这些修改反映到原始数组中,我们必须使用引用传递。在PHP中,可以通过在函数参数前加 `&` 符号来实现这一点: ```php function test_arr(&$...
19. doubler()函数通过引用传递$value,所以函数内的改变会影响到实参。当传递的是引用时,$a的值变为6。 20. 与第19题类似,当函数接受变量的引用时,变量的值会被改变。因此,$a的值仍为6。 21. array_push()用于...
- 数组操作:数组是一种复合数据类型,可以存储不同长度和类型的元素,如整型、字符串、对象等。 数组在PHP中是极其重要的,可以使用索引数组、关联数组或混合数组。常见的数组操作函数包括`count()`(计数)、`...
- **函数参数**: 形参与实参的区别。 - **全局变量与静态变量**: 使用场景及注意事项。 - **函数返回值**: 使用`return`返回值。 #### 六、数组 - **声明与初始化**: 创建数组的不同方式。 - **数组类型**: 索引...
8. 常用数组函数讲解 95 9. 数组面试题讲解 104 五、 Mysql 105 1. 后续教学日程及mysql安装 105 2. PHP连接mysql 106 3. 资源的概念及发送sql查询 109 4. php修改表数据 112 5. php查询表数据 113 6. 查询与修改...
JS与PHP在函数传参方面有点不同,PHP形参与实参个数要匹配,而JS就灵活多了,可以随意传参,实参比形参少或多都不会报错。 实参比形参多不会报错 function say(a){ alert(a); } say('琼台博客','WEB技术...
这个函数没有明确的形参定义,仅通过arguments对象来获取和处理实际传入的参数。 另一个例子展示了如何利用arguments对象实现一个简单的排序算法。在这个例子中,通过嵌套循环对arguments对象中的值进行比较和赋值...
5. PHP支持多种数据类型:字符串、整型、浮点型、布尔型、数组、对象和NULL。 6. 字符串函数如`strlen()`用于计算字符串长度,`strpos()`用于查找字符串内特定字符的位置。 7. PHP常量通过`define()`函数设置,一旦...
13. 形参为指针变量时,实参可以是数组名或者指向数组的指针,因此答案是错误。 14. 全局变量的作用域贯穿整个程序,因此可以在任何函数中使用,答案是正确。 15. Web服务基于HTTP协议,所以答案是C。 16. 正确...
Javascript Basic 1、Javascript 概述(了解) ... 调用函数时,所传递的参数列表,称之为"实参(实际参数)" 3、练习 1、定义一个函数 change ,该函数中接收两个参数(a,b) 2、在函数体中,如果 a 大于 b的话...
22. **形参与实参**:在函数调用中,形参为指针变量时,实参可以是数组名、指向数组的指针或其他符合类型的表达式,不一定必须是数组名。 23. **操作查询**:操作查询包括更新、追加和删除查询,但不包括参数查询,...
以上是根据提供的标题、描述、标签和部分内容整理出的关于PHP的基础知识点,涵盖了PHP的基本语法、变量处理、数据类型、类型转换、输出语句、运算符、控制结构以及函数等内容。对于初学者来说,这些内容构成了学习...
**详细解释**:虽然在 C 语言中,当函数参数声明为指针类型时,传入的实参可以是数组名,但实际上也可以是其他指针类型或指向相应类型的变量。因此,实参的选择取决于具体的编程需求和上下文环境。 ### 12. Word ...
JavaScript中,空对象和空数组在转换为布尔值时会变成`true`,而PHP中这些值会转换为`false`(在PHP4中,空对象也是`false`)。此外,JavaScript中的非零负数值也会被转换为`true`。 2. 实形参的不同: ...
一些开发者认为类型提示是PHP面向对象进步的一个体现,它能够帮助开发者更好地理解和维护代码,尤其是在处理复杂的数据结构和对象时。而另一些开发者则认为,由于PHP本质上是动态和弱类型的,过度使用类型提示可能会...