我目前正在使用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
)
)
是否可以创建一个能够将这些变量添加到符号表中的函数,或者我只是能够返回它们?
答案 0 :(得分:2)
$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
答案 1 :(得分:1)
这对你有什么用?
foreach( $input_array as $key => $value ){
$variable_name = strtolower( $key );
$$variable_name = array( $value );
}
希望有帮助...