zoukankan      html  css  js  c++  java
  • php 使用函数中遇到的坑之----list

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

    <?php
    $info = array('coffee', 'brown', 'caffeine');
    // 列出所有变量
    list($drink, $color, $power) = $info;
    echo "$drink is $color and $power makes it special.
    ";
    
    
    ?>
    <?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;
    ?>
  • 相关阅读:
    hdu 6836
    2019 树形—DP
    2020牛客暑期多校训练营(第六场)
    hdu 6756 Finding a MEX 线段树
    2020 Multi-University Training Contest 2
    spring boot maven 打jar包 不能引入外部jar
    git 操作命令
    homestead 安装swoole
    MYSQL-触发器
    再次认知const
  • 原文地址:https://www.cnblogs.com/joshua317/p/5825599.html
Copyright © 2011-2022 走看看