通常,我们可以提取一个数组,并为其添加前缀,例如
extract($array, EXTR_PREFIX_ALL, "myprefix");
// which will give me output like $myprefix_myarrayvar
但是,有没有办法设置后缀而不是前缀?像,
$myarrayvar_mypostfix;
答案 0 :(得分:4)
首先,你应该从不使用extract
,因为它很难说出某些变量的来源,更不用说可能的碰撞了。你不需要提取很多东西......它实际上只是一种懒惰的工具。
无论如何,既然你问过,似乎没有办法在本地添加一个后缀,所以你必须自己做:
foreach ($array as $key => $val) {
${"{$key}_suffix"} = $val;
}
答案 1 :(得分:3)
没有extract
选项。所以你需要一个解决方法。您可以编写一个无聊的foreach或在提取之前准备密钥:
extract( array_combine(preg_replace('/$/', "_suffix", array_keys($array)), $array) );