PHP установил переменную в ключ массива в одну строку - PullRequest
2 голосов
/ 07 декабря 2010

Это будет очень простой вопрос, у меня есть код, который выглядит следующим образом:

<?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 Ответ

4 голосов
/ 07 декабря 2010
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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...