今天遇到有趣的php引用题目

简介: 今天遇到有趣的php引用题目
function refArray(&$arr)
{
    var_dump($arr);
    $refs = [];
    foreach ($arr as $key => $value)
        $refs[$key] = &$arr[$key];
    var_dump($refs);
    return $refs;
}
$arry = [3, "hello", 0.8, null];
$referenceArray = refArray($arry);
echo "----------------------\r\n";
var_dump($arry);
var_dump($referenceArray);

function refArray($arr)
{
    var_dump($arr);
    $refs = [];
    foreach ($arr as $key => $value)
        $refs[$key] = &$arr[$key];
    var_dump($refs);
    return $refs;
}
$arry = [3, "hello", 0.8, null];
$referenceArray = refArray($arry);
echo "----------------------\r\n";
var_dump($arry);
var_dump($referenceArray);

如果没有将与函数的arry函数的arr进行引用赋值,那么传入的是副本,返回之后副本就会被销毁,那么arry副本,返回之后副本就会被销毁,那么refs 也就不再是引用赋值了,它所引用的副本没了。

目录
相关文章
|
9月前
|
PHP
PHP实现自制随机图片API- 调用文件夹和引用网络图片
PHP实现随机图片API- 调用文件夹和引用网络图片
112 0
|
4月前
|
PHP Python
关于python变量的再次折腾,没有PHP的引用赋值
今天,重看php文档的时候,发现了这样的讲法
15 0
|
5月前
|
数据库连接 PHP 数据库
PHP的引用操作符& 的使用及注意事项
PHP的引用操作符& 的使用及注意事项
|
9月前
|
PHP
PHP 中的引用赋值运算符
PHP 中的引用赋值运算符
|
10月前
|
存储 SQL 前端开发
PHP对象的引用及对象优化策略
当PHP5的出现面向对象思想,我们在构造PHP程序时候就有了对程序的新的总结,把对象特性封装到类,特别是当PHP框架应用到实际项目中,构造类的对象和调用类对象出现了很大的讲究。
|
Java PHP C语言
关于php的引用
关于php的引用
111 0
|
Unix PHP
搞定PHP面试 - 深入了解引用
1. 什么是引用 在 PHP 中引用是指用不同的名字访问同一个变量内容。 PHP 中的变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字。 最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的硬链接。 PHP 中的引用并不像 C 的指针:例如你不能对他们做指针运算。引用并不是实际的内存地址,而是符号表别名。
|
Serverless PHP 数据格式
函数计算PHP 变量不存在无法引用和判断的解决方案
最近研究了函数计算,很不错的服务,总结一个php存在的一个问题,为以后的小白们避免同样的错误。 <?php use RingCentral\Psr7\Response; function initializer($context) { echo 'initializing' .
15736 0
|
PHP
【从入门到放弃-PHP】foreach 引用的坑
背景描述 先看一段代码。 $arr = [ 'jack' => '20', 'tom' => '21', 'marry' => '54', 'less' => '23' ]; foreach ($arr as &$val) { echo $val; .
1874 0