取消所有文本大写,并在 PHP 数组中用下划线替换空格


uncapitalize all text and replace spaces with underscore in an php array

我有这个数组$all_regions = system_region_list($theme);

有些值是"侧边栏第一"侧边栏第二",它们应该变成"sidebar_first"sidebar_second"

有什么想法吗?

foreach ($all_regions as $key => $value){
   $all_regions[$key] = strtolower(str_replace(' ', '_', $value));
}

php.net - str_replace()

编辑

更好的是以下内容(我认为),因为由于内部值指针,它会更快。(我将对此进行基准测试)

foreach ($all_regions as &$value){
   $value = strtolower(str_replace(' ', '_', $value));
}
foreach($all_regions as $key => $val) {
  $all_regions[$key] = strtolower(str_replace(' ', '_', $val));
}

在数组上使用 foreach 循环,然后通过 strtolower() 函数运行每个项目,并使用 strreplace() 函数将空格替换为下划线。