PHP将变量设置为一行中的数组键

时间:2010-12-07 05:43:32

标签: php arrays variables key

这将是一个非常简单的问题,我的代码看起来像这样:

<?php
$rawmessage = "This is what I want.--This is all junk.";

$fmessage = explode("--", $rawmessage);
//Alt. Universe #1: $fmessage = $fmessage[0];

echo $fmessage[0]; //"This is what I want."
//Alt. Universe #1: echo $fmessage;
?>

现在我知道这听起来有多愚蠢,但有没有办法可以在一行中将$ fmessage分配给[0]?因为1)我不想写$ fmessage [0],此时它不需要是一个数组,2)我想知道这是否可行,因为这不是我第一次我想只将数组的一部分设置为变量。我想写的例子(当然,在我的幻想土地上。这在现实中引发了错误。)

<?php
$rawmessage = "This is what I want.--This is all junk.";

$fmessage = explode("--", $rawmessage)[0];
//In my fantasy land, adding the [0] means that the array's key [0] value is set to $fmessage

echo $fmessage; //"This is what I want." For real.
?>

1 个答案:

答案 0 :(得分:4)

list($fmessage) = explode('--', $rawmessage);

list()不是函数,而是PHP语言构造(或者只是看起来像函数的运算符)。

它会将数组成员解包为局部变量......

$array = array('a', 'b', 'c');

list($a, $b, $c) = $array;

var_dump($a, $b, $c);

...输出

string(1) "a"
string(1) "b"
string(1) "c"