Как превратить значения массива в переменные? - PullRequest
9 голосов
/ 26 апреля 2011

У меня есть два массива.Например:

Bear, prince, dog, Portugal, Bear, Clown, prince, ...

и второй:

45, 67, 34, 89, ...

Я хочу превратить строковые ключи в первом массиве в переменныеи установите их равными числам во втором массиве.

Возможно ли это?

Ответы [ 2 ]

27 голосов
/ 26 апреля 2011
extract(array_combine($arrayKeys, $arrayValues));

http://php.net/array_combine
http://php.net/manual/en/function.extract.php

Я бы порекомендовал вам хранить значения в массиве, хотя редко бывает полезно заполнить пространство имен переменными.

5 голосов
/ 26 апреля 2011

Попробуйте использовать array_combine : -

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

Выход: -

Array (
    [green]  => avocado
    [red]    => apple
    [yellow] => banana 
    )

Перебрать этот массив и создать переменную для каждого значения ключа: -

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

Теперь вы можете напечатать переменные как: -

echo $green." , ".$red." , ".$yellow;

Надеюсь, это поможет. Спасибо.

...