首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用文本替换数字

用文本替换数字
EN

Stack Overflow用户
提问于 2016-06-08 09:48:02
回答 4查看 61关注 0票数 0

我在table中为用户Moodle获取数据

代码语言:javascript
复制
            $data[] = $view-look;
            $data[] = $view->tyres;
            $data[] = $view->insidelook;
            $data[] = $review->motor;

数据用于每列中的status。状态从bad (1)good(2)very good (3)superb(4)都是相同的。

现在只显示数字。如何显示,而不是数字,等为每一列?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-06-08 10:11:25

最简单的方法

代码语言:javascript
复制
    $data = [1,1,1,2,4,2,3,3,1,3,3,2];

    $mapping = [1 => 'bad', 2 => 'good', 3 => 'very good', 4 => 'superb'];

    foreach ($data as $key => $value) {
        $data[$key] = $mapping[$value]; 
    }

您将得到与文本内容相同的数组$data,而不是数字。

票数 3
EN

Stack Overflow用户

发布于 2016-06-08 09:58:28

您可以使用开关语句或if语句。这真的取决于你。我不知道用于状态的变量是什么,所以我假设它的$status

代码语言:javascript
复制
switch($status) {
   case 1:
       $status_text = "bad"
       break;
   case 2:
       $status_text = "good"
       break;
   case 3:
       $status_text = "very good"
       break;
   case 4:
       $status_text = "superb"
       break;
   // Have a default value just in case.
   default:
       $status_text = "not set"
       break;
}

// Add it to the data array.
$data[] = $status_text;
票数 0
EN

Stack Overflow用户

发布于 2016-06-08 10:07:14

这是一个简短的解决方案,装入一个关联数组(符号表),并获取与每个数字对应的文本。

代码语言:javascript
复制
$statuses = array(
    "1" => "bad",
    "2" => "good",
    "3" => "very good",
    "4" => "superb"
);

$data[] = $statuses[$status];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37698997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档