php - 如何在 PHP 中更轻松地将整数值映射到字符串?

标签 php

如何重构以下代码,使其更简洁、更易于维护?

if ($row['vocation'] == 1) $vocation = "sorcerer";
if ($row['vocation'] == 2) $vocation = "druid";
if ($row['vocation'] == 3) $vocation = "paladin";
if ($row['vocation'] == 4) $vocation = "knight";

if ($row['vocation'] == 5) $vocation = "master sorcerer";
if ($row['vocation'] == 6) $vocation = "elder druid";
if ($row['vocation'] == 7) $vocation = "royal paladin";
if ($row['vocation'] == 8) $vocation = "elite knight";
else $vocation = "none";

最佳答案

我建议使用数组,如下所示:

static $vocations = array(
  1 => 'sorceror',
  2 => 'druid',
  3 => 'paladin',
  4 => 'knight',
  5 => 'master sorceror',
  6 => 'elder druid',
  7 => 'royal paladin',
  8 => 'elite knight',
  );

$vocation = 
  isset($vocations[$row['vocation']]) ? $vocations[$row['vocation']] : 'none';

关于php - 如何在 PHP 中更轻松地将整数值映射到字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800518/

相关文章:

PHP导出DBF文件格式

javascript - 将表单数据从表单的 View 传递到 Controller

php - 如何将 CSS 应用到 php 中包含的 HTML 元素?

php - 尝试通过带有 IN 子句的 php 从 mysql 表中获取数据(收藏夹)

php - 在 MySQL 数据库中存储大量表单提交

php - mod_rewrite 发布数据丢失

php - 寻找一种将列出的数据库结果包装在 div 中的方法

php - jquery - 使用 Lightbox 插件和来自 mysql 数据库的 blob

php - 如何使用 union 在两个表中进行搜索?

php - PHP 的 Facebook API : how to get user albums and photos?