php里list函数

今天在开发中一个方法里看到list语言结构,刚开始以为是php里的一个函数!

list() 用于在一次操作中给一组变量赋值。

注释:list()只用于数字索引的数组,且假定数字索引从 0 开始。

说明

list() 用数组中的元素为一组变量赋值。

注意,与 array() 类似,list() 实际上是一种语言结构,不是函数。

如:

<?php
  $my_array = array(‘Dog‘,‘Cat‘,‘Horse‘);
  list($a, $b, $c) = $my_array;
  echo ‘I have several animals, a ‘.$a.‘, a ‘.$b.‘ and a ‘.$c;
?>

结果如下,可正常输出

当数组不是数字数组而是关联数组时,如:

<?php
$my_array = array(‘a‘=>‘Dog‘,‘b‘=>‘Cat‘,‘c‘=>‘Horse‘);
list($a, $b, $c) = $my_array;
echo ‘I have several animals, a ‘.$a.‘, a ‘.$b.‘ and a ‘.$c;
?>

结果将会报错

当使用索引数组是如:

<?php
  $my_array = array(0=>‘Dog‘,1=>‘Cat‘,2=>‘Horse‘);
  list($a, $b, $c) = $my_array;
  echo ‘I have several animals, a ‘.$a.‘, a ‘.$b.‘ and a ‘.$c;
?>

这是可正常输出,当代码改为

<?php
$my_array = array(1=>‘Dog‘,2=>‘Cat‘,3=>‘Horse‘);
list($a, $b, $c) = $my_array;
echo ‘I have several animals, a ‘.$a.‘, a ‘.$b.‘ and a ‘.$c;
?>

输出结果如下

时间: 2024-12-28 14:19:11

php里list函数的相关文章

javascript中利用柯里化函数实现bind方法

柯理化函数思想:一个js预先处理的思想:利用函数执行可以形成一个不销毁的作用域的原理,把需要预先处理的内容都储存在这个不销毁的作用域中,并且返回一个小函数,以后我们执行的都是小函数,在小函数中把之前预先存储的值进行相关的操作处理即可: 柯里化函数主要起到预处理的作用: bind方法的作用:把传递进来的callback回调方法中的this预先处理为上下文context; /** * bind方法实现原理1 * @param callback [Function] 回调函数 * @param con

浅谈JavaScript中的柯里化函数

首先,不可避免的要引经据典啦,什么是柯里化函数呢(from baidu): 在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的. 用于创建已经设置好了一个或多个参数的函数 与函数绑定相似,他们之间的区

Swift # 柯里化函数

前言 此次文章,讲述的是Swift的一个新特性(柯里化函数),可能很多iOS开发人员是第一次听这个词汇,包括我自己也是,自己也用了几天时间才总结出来,希望能帮助到各位咯,个人感觉偏向有开发经验的码友,如果零基础的看懂,希望能给个赞,??! 如果喜欢我的文章,可以关注我,随着后续不断学习Swift中,陆续还会有更新ing.... 什么是柯里化函数? 柯里化(Currying),又称部分求值(Partial Evaluation),是一种函数式编程思想,就是把接受多个参数的函数转换成接收一个单一参数

JavaScript的柯里化函数

柯里化,或者说部分应用,是一种函数式编程的技术,对于熟悉以传统方式编写 JavaScript 代码的人来说可能会很费解.但如果使用得当,它可以使你的 JavaScript 函数更具可读性. 更具可读性和灵活性 函数式 JavaScript 被吹捧的优点之一就是拥有短小紧凑的代码风格,可以用最少行数.更少重复的代码得到正确的结果.有时这会以牺牲可读性为代价:如果你还不熟悉函数式编程的方法,这种方法写的代码会很难阅读和理解. 如果之前你遇到过柯里化这个术语,但是不知道它是什么意思,把它当做奇怪的.难

关于函数里和函数外的变量/类/常量的

关于函数里和函数外的变量/类/常量的     1 变量是不能跨越到函数里面的,即函数外面的变量不能直接在函数里面使用,函数里面的变量更不能被函数外面使用 2 类可以跨越到函数里面,但是不能实例化之后赋给一个变量再在函数里用,这样相当于变量,而变量是不能跨越到函数里的 3 常量 有些复杂,(其实也好理解) 常量的作用范围是本次页面   具体如下 ①: 函数外定义,函数里可以使用 define("AAA","Good"); function a(){ echo AAA;

[转]html页面调用js文件里的函数报错onclick is not defined处理方法

原文地址:http://blog.csdn.net/ywl570717586/article/details/53130863 今天处理html标签里的onclick功能的时候总是报错:Uncaught ReferenceError: dosave is not defined(-) 找了半天都没发现错在哪,最后发现原来是我写法不对,正确写法如下: html: [html] view plain copy <input type="button" value="立即登录

CTEX里的函数、符号及特殊字符

CTEX里的函数.符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{a}   \acute{a}   \check{a}   \grave{a}   \tilde{a}   \hat{a}   \breve{a}   \dot{a}   \ddot{a}   函数 语法 效果 语法 效果 语法 效果 \sin a sina \cos b cosb \tan c tanc \arcsin d arcsind \arccos e arccose \arctan f arctanf

柯里化函数之Javascript

柯里化函数之Javascript 定义 根据定义来说,柯里化就是将一个接收"多个"参数的函数拆分成一个或者许多个接收"单一"参数的函数.定义看起来是比较抽象的,下面来举个例子: 代码 1 2 3 4 5 function concat(str1,str2){ return str1 + str2; } concat("forever","px") // "foreverpx" 不难理解,上面的代码中定义了一

高级语言里的函数在汇编里的实现方式

一. 学习过程 在高级语言中我们为什么要用变量呢?因为我们要存储数据,而且因为要使用循环等语法结构,存储的数据需要不断地变化,变量的特性可以很好地解决这个问题.在前面我已经讨论过了,变量的声明实际上就是在内存中开辟一个内存空间,我们在汇编语言里使用循环,主要是把数据存在si.di等寄存器中来进行操作,存储数据是把数据放在寄存器.内存空间(普通的和栈)里面.编写程序ur1.c,并编译连接: 用debug加载ur1.exe,用u命令查看编译后的机器码和汇编代码: 发现main函数中的代码没有出现,用

节流函数&amp;防抖函数 柯里化函数

/* onscroll onresize input ..... 节流函数 让高频率事件进行减少触发变成低频率事件 var bStop = true; window.onscroll = function() { if(!bStop){ return; } bStop = false; setTimeout(()=>{ var t = document.documentElement.scrollTop || document.body.scrollTop; console.log(t); bS