Элементы массива в переменные - PullRequest
0 голосов
/ 03 августа 2011
$data = array (                 
            'id'    => $_POST["id"],
            'name'  => $_POST["name"],
            'email' => $_POST["email"]
            );

Существует ли одна функция php, которая может преобразовывать ключи массива в переменные, имеющие значение значения массива?Например, вместо вывода значения через echo $data['name'] я могу просто использовать echo $name.

. Пожалуйста, не предлагайте решения с использованием циклов foreach (если это возможно).

Ответы [ 4 ]

1 голос
/ 03 августа 2011

Цикл foreach в этом случае на самом деле является довольно компактным решением ...

foreach ( $data as $key => $value ) { $$key = $value; }

Хотя простая ссылка на массив по ключу сама по себе довольно аккуратна ...

echo $data['id'];
1 голос
/ 03 августа 2011

extract делает именно это: ( документы )

 $size = "large";   
 $var_array = array("color" => "blue",
                       "size"  => "medium",
                       "shape" => "sphere");
 extract($var_array, EXTR_PREFIX_SAME, "wddx");

 echo "$color, $size, $shape, $wddx_size\n";

list также делает это более контролируемым образом ( документы ), просто отметьте, что ваш исходный массив должен быть численно проиндексирован - здесь не допускаются ассоциативные массивы:

    $info = array('coffee', 'brown', 'caffeine');

    // Listing all the variables
    list($drink, $color, $power) = $info;
    echo "$drink is $color and $power makes it special.\n";
1 голос
/ 03 августа 2011

http://php.net/manual/fr/function.list.php

Возможно, вы ищете функцию списка, чтобы вы знали, с какой переменной вы имеете дело.

список ($ var, $ var2) = $ _POST;

1 голос
/ 03 августа 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...