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;
    ?>
  • 相关阅读:
    centos crash debug
    go get Unknown SSL protocol error in connection to gopkg.in
    Tensorflow serving with Kubernetes
    Spring 集成 Swagger UI
    Docker Registry V2 Garbage Collection
    Docker Registry V2 with Nginx
    Zabbix磁盘性能监控
    Zabbix CPU utilization监控参数
    Windows挂载Gluster复制卷
    Redis持久化存储(三)
  • 原文地址:https://www.cnblogs.com/joshua317/p/5825599.html
Copyright © 2011-2022 走看看