我想知道如何使用php extract函数从数组中提取密钥以将变量snake_case更改为camel_case。 例如:
array('id' => 1, 'user_name' => 'Paul');
要
$id = 1;
$userName = 'Paul';
我正在使用laravel框架。
感谢;)
答案 0 :(得分:1)
foreach($array as $key => $value) {
$name = camel_case($key);
$$name = $value;
}
答案 1 :(得分:0)
您不能使用extract
。
Quoting the PHP Manua l(强调我的):
数组:一个关联数组。 此函数将键视为变量名称,将值视为变量值。对于每个键/值对,它将在当前符号表中创建一个变量,受标志和前缀参数的限制。
没有标志可以更改密钥的大小写。它将使用数组中出现的数组键作为变量名称。如果你想要驼峰的情况,你需要更改数组键。 extract
没有其他办法。
您可以使用以下代码在userland中执行此操作:
$data = array('id' => 1, 'user_name' => 'Paul');
foreach ($data as $k => $v) {
${lcfirst(str_replace('_', '', ucwords($k, '_')))} = $v;
}
echo $userName;
显然,Laravel has a helper function对于那种情况大致相同。
但严肃地说...... 不。这是毫无意义的。完全浪费CPU将密钥转换为骆驼案例。只需使用$user_name
或$data['user_name']
。