在5.4之前我们直接获取数组的值得方法如下

<?php$str = 'a;b;c;d';list($value) = explode(';',$str);echo $value;

  

结果为: a

但是5.4的Array derenferencing 是什么意思呢?如下

<?php$str = 'a;b;c;d';$value = explode(';',$str)[0];echo $value;

  

结果同为:a

其实很简单,但是我们运用当中可能会出现一些的问题。比如

<?phpclass Example{private $value = [];public function getValue(){return $this->value;}}$example = new Example;$example->getValue()['test'] = 'test';echo $example->getValue()['test'];

  

会出现如下报错

Notice: Undefined index: test in D:\Php\xampp\htdocs\test\PHP - 5.x\example.php on line 17

上面的代码混淆了返回值和返回引用,在PHP中,除非你显示的指定返回引用,否则对于数组PHP是值返回,也就是数组的拷贝。因此上面代码对返回数组赋值,实际是对拷贝数组进行赋值,非原数组赋值。

下面是一种可能的解决办法,输出拷贝的数组,而不是原数组:

$vals = $config->getValues();
$vals['test'] = 'test';
echo $vals['test'];  //test

  

如果你就是想要改变原数组,也就是要反回数组引用,就是显示指定返回引用即可

<?phpclass Example{private $value = [];public function &getValue(){return $this->value;}}$example = new Example;$example->getValue()['test'] = 'test';echo $example->getValue()['test'];

上面的例子输出:test

转载于:https://www.cnblogs.com/uduemc/p/3998750.html

PHP - 5.4 Array dereferencing 数组值相关推荐

  1. java求最小步数,使数组值相等的最小步数 Minimum Moves to Equal Array Elements

    问题: Given a non-empty integer array of size n, find the minimum number of moves required to make all ...

  2. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  3. 【MATLAB】数据类型 ( 元胞数组 | 单位阵 | 幻方 | 结构体 | 元胞数组值获取 )

    文章目录 一.元胞数组 1.定义元胞数组 2.生成单位阵 3.生成幻方 4.元胞数组元素赋值 5.元胞数组元素赋值 二 二.元胞数组 1.定义结构体 2.小括号获取元胞数组子数组 3.大括号获取元胞数 ...

  4. ajax使用json数组,使用JSON传递数组值的Ajax

    我有一个复选框和提交按钮表格的html表单. 当按钮被点击时,我打电话和ajax_function在那里我想传递 的数据到另一个php页面.我不知道如果我做了什么,到目前为止是正确的,所以我可以pro ...

  5. 如何统计php数组值的和,php数组键值操作和数组统计函数-函数

    1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_a ...

  6. php2个数字拼接,PHP合并2个数字键数组值示例详解

    这篇文章主要介绍了PHP简单实现合并2个数字键数组值的方法,涉及php针对数组的遍历.判断.转换等相关操作技巧,需要的朋友可以参考下 本文实例讲述了PHP简单实现合并2个数字键数组值的方法.分享给大家 ...

  7. php接收get数组数据,php-如何从wordpress数据库中获取数组值get_results

    尝试从我的MySQL查询中回显数组值(在Wordpress片段内部) function get_customer_gain() { global $wpdb; $users = $wpdb->g ...

  8. php索引数组转键数组,PHP-Codeigniter:如何从指定索引转换数组值?

    我有这样的数组 array(2) { [0]=> object(stdClass)#20 (4) { ["id"]=> string(1) "1" ...

  9. php调用其他文件数组的值,PHP递归调用数组值并用其执行指定函数

    0 PHP递归调用数组值并用其执行指定函数 围观:259℉更新时间:2014-10-29 function function_deep($function,$value) { try { if(!fu ...

最新文章

  1. Matlab 线性规划问题模型代码
  2. 从零开始开发JVM语言(十三)代码生成与ASM
  3. 关于mysql中int(1)中int后面的数字
  4. 创维广电服务器无线,创维电视连有线网、连无线网详细图文教程
  5. php根据某个字段去重,php二维数组根据某个字段去重
  6. Docker安装Redis 6.2.6的3主3从集群和集群的扩缩容操作
  7. UMLChina公众号文章精选(20220821更新精选)
  8. rpx怎么算出来的?
  9. 使用seaborn绘制热图
  10. IT运维的365天--009微信双开批处理文件运行出错(当前目录无效)的解决
  11. 海康修改云存储服务器,ivms-4200云存储服务器
  12. 清北学堂2019.8.9
  13. 【python】绘制箱体图/蜡烛图/K线图
  14. Nginx配置支持mp4视频流播放,超简单
  15. PHP扩展undefined symbol,基于phpx的扩展运行报错undefined symbol
  16. python制作词典软件_AlphaDict: 它是一个轻量级的开放词典格式的开源词典软件,你可以制作自己的词典, 也是一个跨平台的软件支持 linux, unix and windows....
  17. 计算机右键管理无法访问指定设备,一直出现这个“Windows无法访问指定设备”怎么办?...
  18. Hubble:“百万原生代码+混合交易分析”的利器!
  19. mysql基础操作和查询语句
  20. 经典蓝黑图表合集PPT模板

热门文章

  1. angular4更改表单中显示的值_关于angular4中FormBuilder重新赋值时发生的问题
  2. python计算相关性显著性p值_基于python实现计算两组数据P值
  3. 回顾一年的工作历程_ppt模板开门红年会颁奖典礼PPT模板,回顾总结过去一年的各项工作...
  4. mysql镜像备份和同步备份_mysql 主从同步及备份
  5. C语言线性表怎么输入字符串,用c语言创建一个线性表输入元素求直接后继
  6. .net pdf转图片_PDF转图片要怎么转?两分钟解决!
  7. java中file类乱,【JAVA SE基础篇】47.file类的方法
  8. 9277用计算机,【资料】[转]鸿合电子白板学科通用工具使用技巧
  9. 通过jdbc的mysql驱动连接oceanbase mysql模式数据库
  10. eclipse 如何关联git_git的相关操作