专栏首页技术博文php 使用函数中遇到的坑之----list

php 使用函数中遇到的坑之----list

1. list 把数组中的值赋给一些变量

<?php
$info = array('coffee', 'brown', 'caffeine');
// 列出所有变量
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";


?>
<?php

$info = array('coffee', 'brown', 'caffeine');

list($a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>

产生如下输出(注意单元顺序和 list() 语法中所写的顺序的比较):
array(3) {
  [2]=>
  string(8) "caffeine"
  [1]=>
  string(5) "brown"
  [0]=>
  string(6) "coffee"
}

Warning
list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。 但是如果你用了具有索引的数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。 它是以相反顺序赋值的。
<?php
        $info = array('a'=>'coffee', 'b'=>'brown', 'c'=>'caffeine');
        list($drink, $color, $power) = $info;
        echo $drink;
?>

这个时候会抛出异常:
Exception Object
    [message:protected] => [Notice] : Undefined offset: 2

这是因为:
list() 仅能用于数字索引的数组并假定数字索引从 0 开始。

解决办法可以使用sort处理下
<?php
        $info = array('a'=>'coffee', 'b'=>'brown', 'c'=>'caffeine');
        sort($info);
        list($drink, $color, $power) = $info;
        echo $drink;
?>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux命令行下常用的快捷键

    ctrl+a:光标移到行首。 ctrl+e:光标移到行尾。 ctrl+b:光标左移一个字母 ctrl+f:光标右移一个字母 ctrl+h:删除光标前一个字符,同...

    joshua317
  • linux zip 命令详解(2)

    linux zip 命令详解  功能说明:压缩文件。  语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-l...

    joshua317
  • HTTP 长连接和短连接

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用I...

    joshua317
  • 利用Python3内置文档资源高效学习及官方中文文档

    从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串、列表、字典等数据结构的内置方法,和大量内置的标准库,诸如f...

    一墨编程学习
  • 第四节、Python之print语句《Python学习》

    print语句可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:

    申霖
  • 轻松学Python,一篇文章带你快速入门

    Python基础01 Hello World! ? Python命令行 假设你已经安装好了Python, 那么在命令提示符输入: python 将直接进入pyt...

    企鹅号小编
  • 轻松学习Python:基础知识汇总

    Python基础01 Hello World! Python命令行 假设你已经安装好了Python, 那么在命令提示符输入: python 将直接进入pytho...

    企鹅号小编
  • 零基础Python教程-详说list有序集合

    变量classmates就是一个list。用len()函数可以获得list元素的个数:

    小小科
  • 零基础Python教程-详说list有序集合

    ist是一种有序的集合,可以随时添加和删除其中的元素。 比如,列出你周围同事的名字,就可以用一个list表示: >>> classmates = ['Micha...

    小小科
  • Python 面试基础

    9.举例说明异常模块中 try except else finally 的相关意义

    LittlePanger

扫码关注云+社区

领取腾讯云代金券