爆炸字符串到变量

爆炸字符串到变量

问题描述:

有没有办法爆炸字符串到变量,例如爆炸字符串到变量

some_function($min, $max, "3, 20"); 

,使得$分钟被赋值为3和$最大赋值为20

我知道我可以简单地使用

$data = explode("3, 20"); 

只是想知道是否有另一种方式。

PHP的语言结构list()可以通过分配一个数组来执行多个赋值给变量(甚至是其他数组键)。

list($min, $max) = explode(",", "3,20"); 

但是,你仍然需要一个trim()适用于您的变量,因为$max值将有一个前导空格,或更换explode()preg_split('/\s*,\s*/', $string)将它拆分的逗号和空白。

注:使用与list()谨慎,以确保您要指定数组包含相同数量的元素作为list()有变量。它们在PHP 5.x中从右到左进行分配,而不是从左到右,因此如果您碰巧用右侧的原始内容覆盖左侧的变量,则可能会得到意想不到的结果。这通过示例in the PHP docs进行了详细说明。

更新PHP 7: PHP 7改变了分配秩序的行为向右

+0

技术上使得list()参数从左分配即是'列表)中*语言结构*('。但+1。 – DaveRandom 2012-04-05 13:41:07

+2

@DaveRandom我没有说'list()'是一个函数,我说这是__list()的函数。微妙,但我会澄清无论如何:) – 2012-04-05 13:41:47

+0

啊,touché... ;-) – DaveRandom 2012-04-05 13:42:25