我目前正在使用CakePHP,它大量使用关联数组。对于我的应用程序中的一个函数,如果我能从这些数组中的一些数据中创建单独的变量,那将是很有用的。例如,数组可能像这样:
Array
(
[User] => Array
(
[id] => 1
[name] => Joe Bloggs
[email] => test@test.com
)
[Post] => Array
(
[id] => 1
[title] => Hello World
)
[Profile] => Array
(
[id] => 1
[location] => London
)
)
我想创建一个函数,可以分割数组为3,并给我三个新的变量。
我已经看了一下extract(),但它并不完全按照我想要的方式工作。我想创建三个新变量:
$user:
Array
(
[User] => Array
(
[id] => 1
[name] => Joe Bloggs
[email] => test@test.com
)
)
$post:
Array(
[Post] => Array
(
[id] => 1
[title] => Hello World
)
)
$profile:
Array(
[Profile] => Array
(
[id] => 1
[location] => London
)
)
是否有可能创建一个能够将这些变量添加到符号表的函数,或者我是否只能返回它们?
$array = array(
'value1'=> array('name' => 'john'),
'value2'=> array('name' => 'sim')
);
function createVars($data) {
foreach ($data as $key => $val) {
global ${$key};
${$key} = $val;
}
}
createVars($array);
// Now you should be able to access $value1 and $value2
查看此链接http://php.net/manual/en/language.variables.variable.php
这是如何为您工作的?
foreach( $input_array as $key => $value ){
$variable_name = strtolower( $key );
$$variable_name = array( $value );
}