如何使用ucwords提取php函数

时间:2017-10-21 17:12:00

标签: php laravel function extract

我想知道如何使用php extract函数从数组中提取密钥以将变量snake_case更改为camel_case。 例如:

array('id' => 1, 'user_name' => 'Paul');

$id = 1;
$userName = 'Paul';

我正在使用laravel框架。

感谢;)

2 个答案:

答案 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']