首页 > 后端开发 > 正文

按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别

2024-07-28 02:23:29 | 我爱编程网

按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

本文目录一览:

按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别

按引用传递参数用php来表示圆柱的表面积?

下面是一个使用按引用传递参数的 PHP 函数,用于计算圆柱的表面积:
function cylinder_surface_area($radius, $height, &$surface_area) {
$surface_area = 2 * pi() * $radius * $height + 2 * pi() * pow($radius, 2);
}

// 示例用法
$r = 3; // 圆柱底面半径
$h = 5; // 圆柱高度
$s = 0; // 圆柱表面积

cylinder_surface_area($r, $h, $s);
echo "圆柱表面积为: " . $s;

在这个函数中,前两个参数 $radius 和 $height 分别表示圆柱的底面半径和高度。第三个参数 $surface_area 是一个按引用传递的变量,用于存储计算得到的圆柱表面积值。
在函数体中,调用内置的 pi() 函数来获取圆周率π的值。然后使用公式计算圆柱的表面积,并将结果存储在 $surface_area 变量中。
在示例用法中,我们定义了圆柱的底面半径和高度,然后调用 cylinder_surface_area() 函数来计算表面积。最后,使用 echo 函数将结果输出到屏幕上。
请注意,由于 $surface_area 是通过按引用传递的方式传递给函数的,因此在函数结束后,它将包含计算得到的表面积值。

按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别

PHP传值,引用和传址的区别

实参(被调)、行参(主调)
函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
--传值:
是把实参的值赋值给行参,相当于复制一块同样的空间那么对行参的修改,不会影响实参的值
--传地址:
是传值的一种特殊方式,只是他传递的是地址,不是普通的如int那么传地址以后,实参和行参都指向同一个对象--传引用:
真正的以地址的方式传递参数
传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值
即传址时只需在函数调用时在参数的前面加上"&"号即可。将函数外部的值的内存地址传递给内部的参数,在函数内部的所有操作都会改变函数外部参数的值。
值传递(passl-by-value): 压栈的是参数的副本。任何的修改是在副本上作用,没有作用在原来的变量上。
过程中:被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。
传指针(pointer): 压栈的是指针变量的副本。当你对指针解指针操作时,其值是指向原来的那个变量,所以对原来变量操作。
引用传递(pass-by-reference):压栈的是引用的副本。由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作。
过程中:被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
所谓值传递,就是说仅将对象的值传递给目标对象,就相当于copy;系统将为目标对象重新开辟一个完全相同的内存空间。
所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。如果对目标对象进行修改,内存中的数据也会改变。

按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别

PHP中按值传递和引用传递的区别

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP中按值传递和引用传递的区别的相关内容。

(1)按值传递:函数范围内对值的任何改变在函数外部都会被忽略

(2)按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改

(3)优缺点: 我爱编程网

A:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

B.按引用传递则不需要复制值,对于性能提高很有好处。

<?php
    header('content-type:text/html;charset=utf-8');
    //探讨一下 array , null, 对象 ,资源的默认传递方式
    // 结论 (1) array 默认是值传递,通过加 & 可以引用传递
    //      (2)  null 默认是值传递,通过加 & 可以引用传递
    //      (3) 资源  是值传递.通过加 & 可以引用传递
    //        (4) 对象默认也是值传递,但是对象值传递是对象标识符    
    $hero = array('no1'=>'蝙蝠侠', 'no2'=>'超人');
    $hero2 = &$hero;
    $hero2['no1'] = '蜘蛛侠';
    echo '<pre>';
    var_dump($hero);
    
    var_dump($hero2);
    $a = null;
    $b = &$a;
    $b = 'abc';
    var_dump($a, $b);
   ?>

以上就是我爱编程网为大家带来的按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别,希望能帮助到大家!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“按引用传递参数用php来表示圆柱的表面积? PHP传值,引用和传址的区别”相关推荐
按引用传递参数用php来表示圆柱的表面积?(php定义一个函数,输出页面表格?)
按引用传递参数用php来表示圆柱的表面积?(php定义一个函数,输出页面表格?)

按引用传递参数用php来表示圆柱的表面积?下面是一个使用按引用传递参数的PHP函数,用于计算圆柱的表面积:functioncylinder_surface_area($radius,$height,&amp;$surface_area){$surface_area=2*pi()*$radius*$height+2*pi()*pow($radius,2);}//示例用法$

2024-08-01 22:25:48
php引用传递中的&什么意思,有什么用?
php引用传递中的&什么意思,有什么用?

php引用传递中的&什么意思,有什么用?其实图片中的文字已经描述得很详细了,如果你是循序渐进学到这里的,应该是可以理解的啊。加了&amp;就是引用传递,就是把实参的内存地址传递给函数内部的形参,这样的话函数内部对形参的任何修改都会直接影响到外部的实参,也就是说这种情况下实参和形参其实是同一个变量;而不加&amp;则是值传递,就是把实参的值传递给函数内部的形参,这时候函数内部对形参的任

2024-10-12 16:21:53
php函数中传引用参数可以设置默认值吗
php函数中传引用参数可以设置默认值吗

php函数中传引用参数可以设置默认值吗php函数中传引用参数可以设置默认值吗是这个样子的,定义的参数与调用时的参数名称可以不同。带默认值的就是指当这些参数没有给出的时候可以按照预定义内容进行赋值。functiontext($i,$a="test1",$test="test2"){echo"{$i}";echo"{

2024-07-18 08:46:41
用PHP语言算出圆柱体的表面积和体积的代码怎么写?
用PHP语言算出圆柱体的表面积和体积的代码怎么写?

PHP计算圆面积1.正方形的边长=圆的直径d²=24圆面积=πr²=π(d/2)²=1/4πd²=1/4π×24=6π圆半径=3内接正方形面积=3×3÷2×4=18cm²2.r=2r∵πr²-πr²=π(r²-r²)=π(4r²-r²)=3πr²=12∴r=2小圆面积=πr²=4π谢谢采纳!需要解释可以追问。用PHP语言

2024-09-09 05:43:35
php怎么用get传递带&的链接url 注意传递的值是一个链接
php怎么用get传递带&的链接url 注意传递的值是一个链接

php怎么用get传递带&的链接url注意传递的值是一个链接我没有尝试过这样写,不过我觉得这样写是不妥当的。URL中如果有"?"怎么办的应该把?替换成*例如gotb1.php里面header("location:gotb2.php?tb=*id=100");然后在gotb2.php$url=$_GET["tb"];$url=str_replace('*','?',$u

2024-10-28 23:32:55
php如何传递类参数
php如何传递类参数

php如何传递类参数PHP类中,可能有多个属性参数。当使用new创建一个对象的时候,可能需要完成初始化操作,需要从外边传递参数进来。下面演示具体过程:&lt;?phpclass Test { //定义私有变量name ,age private $name, $age; //构造函数,初始化的时候最先执行 public function __construct($name, $age

2024-07-19 13:51:24
从表单上输入圆柱的半径和高,然后PHP中求体积(php 用函数递归求1到20的平方和)
从表单上输入圆柱的半径和高,然后PHP中求体积(php 用函数递归求1到20的平方和)

从表单上输入圆柱的半径和高,然后PHP中求体积根据圆柱的半径和高求体积的公式为:$V=\pir^2h$其中,$V$表示圆柱体积,$\pi$为圆周率,$r$为圆柱底面半径,$h$为圆柱高。以下是根据圆柱的半径和高求体积的PHP代码示例:functiongetCylinderVolume($radius,$height){$pi=3.14159;$volu

2025-01-17 17:46:30
php函数传值 php 使用curl函数并附带参数传递,接收返回的数据并保存在变量中
php函数传值 php 使用curl函数并附带参数传递,接收返回的数据并保存在变量中

php语言中传值赋值和引用赋值的区别笔记//传值赋值和引用赋值区别/*传值赋值:a.变量表:放变量名指向它们各自的位置(盒子)b.位置(盒子):存放值和类型*/$a1=234;$a2=34556;$a1=$a2;var_dump($a1,$a2);$a2='nongjiale.fun';var_dump($a1,$a2);/*引用赋值:使用&amp;

2024-07-25 21:41:14