稀里糊涂系列之list函数妙用

栏目: PHP · 发布时间: 6年前

内容简介:实习也有小半年了,工作过程中真的学到了很多东西。今天一个在百词斩实习(前端)的死党跟我秀,说他昨天发的一篇文章是热榜第一,嘚瑟得都快上天了:我手痒了,所以把昨天工作过程中遇到的一个小问题拿出来抛砖引玉,如有不对的地方,请大佬斧正。我们在实现函数的时候,往往只有一个返回值,但有的时候这不能满足我们的需求。回想起当年c/c++的指针和引用,用得不亦乐乎,怎一个“爽”字了得啊。

实习也有小半年了,工作过程中真的学到了很多东西。今天一个在百词斩实习(前端)的死党跟我秀,说他昨天发的一篇文章是热榜第一,嘚瑟得都快上天了: juejin.im/post/5bcd9e…

我手痒了,所以把昨天工作过程中遇到的一个小问题拿出来抛砖引玉,如有不对的地方,请大佬斧正。

2、场景

我们在实现函数的时候,往往只有一个返回值,但有的时候这不能满足我们的需求。回想起当年c/c++的指针和引用,用得不亦乐乎,怎一个“爽”字了得啊。

当然,php也有引用,不知道为啥,反正我用得很不爽(强迫症)。但这不是本篇文章的重点,以后再说。

php语言的数组算是这门语言最有魅力的地方,在处理上述问题时,完全可以把所有的东西打包成一个数组返回。

例如:

$x = null;
$y = null;
function foo($x, $y)
{
    $x = ['a', 'b', 'c'];
    $y = [23, 12, 8, 17];
    
    return [
        'x' => $x,
        'y' => $y
    ];
    
    // 或者这样:(这个函数也很方便,有兴趣的小盆友可以自己google)
    // return compact($x, $y);
}

$z = foo($x, $y);
$x = $z['x'];
$y = $z['y'];
复制代码

3、list()函数

list()这个函数比较冷门吧,我是在看某个框架源码的时候发现的,大佬可以略过,菜鸟可以看一看。用法如下:

array list ( mixed $var [, mixed $... ] )

官方文档中是这样写的:“ array() 一样, list() 不是真正的函数,而是语言结构。 list() 可以在单次操作内就为一组变量赋值。

Note: list() 仅能用于数字索引的数组,并假定数字索引从 0 开始。 并且,php5.6 和 php 7 版本的 list() 用法有变化

// 5.6版本
list($z, $y, $x) = array('x', 'y', 'z');

// 7.0+版本
list($x, $y, $z) = array('x', 'y', 'z');
复制代码

官方链接:

4、“茴”字的第二种写法

$x = null;
$y = null;
function foo($x, $y)
{
    $x = ['a', 'b', 'c'];
    $y = [23, 12, 8, 17];
    
    return [$x, $y];
}

list($x, $y) = foo($x, $y);
复制代码

5、后记

额,貌似也就只减少了几行代码......

其中提到了 compact 函数,还有与之对应的 extract 函数。

感兴趣的还有 explodeimplode 函数......应该能或多或少提高点工作效率吧

写了一大堆又感觉啥都没写到,稀里糊涂的-_-!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编码整洁之道

编码整洁之道

罗伯特·C.马丁 / 电子工业出版社 / 2012-8 / 59.00元

忍受各种不确定性及不间断的压力并能够获取成功的程序员有一个共通特征:他们都深度关注软件创建实践。他们都把软件看做一种工艺品。他们都是专家。在“鲍勃大叔”看来“专业”的程序员不仅应该具备专业的技能,更应该具备专业的态度,这也是本书阐述的核心。专业的态度包括如何用带着荣誉感、自尊、自豪来面对进行软件开发,如何做好并做得整洁,如何诚实地进行沟通和估算,如何透明并坦诚地面对困难做抉择,如何理解与专业知识相......一起来看看 《编码整洁之道》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具