Kim*_*cks 0 php arrays variables scope extract
我需要将以下数组中的键值对提取到变量中
$data = array(
'Quotation.id' => 1,
'Quotation.project_id' => 2
);
extract($data);
Run Code Online (Sandbox Code Playgroud)
因为它.是PHP中的非法字符,所以在运行时不会定义额外的变量extract.
我想以某种方式删除点并将整个字段更改为camelCase.意思是说,如果事先不知道密钥$data,我想以某种方式回到新定义的变量:
$quotationId = 1;
$quotationProjectId = 2;
Run Code Online (Sandbox Code Playgroud)
我该如何做到这一点?
请忽略新定义的变量可能与现有变量冲突的情况.假设这不会发生.
正则表达式可能有一种更简单的方法,但这就是我要这样做的方法:
foreach ($data AS $k => $v) {
$key = str_replace(' ', '', ucwords(str_replace('.', ' ', $k)));
${$key} = $v;
}
Run Code Online (Sandbox Code Playgroud)