php - 在php中,如何映射值?

  显示原文与译文双语对照的内容
0 0

我正在尝试在我的项目中编写最好的映射代码

我在 1映射电子表格上有 1

类似


projectA projectB
taskA task1
taskB task2
taskC task3
taskD task4
taskE task5

从数据库得到的值是 task1task5,但是我想在 taskA 中显示它们到 taskE

我对映射的想法很少


switch($var){
 case 'task1':
 return 'taskA'
 break;
 case 'task2':
 return 'taskB'
 break;
 ….more
}

或者创建一个 array


$map = array('task1 => taskA, 'task2' => 'taskB…more)

然后把钥匙拿出来。

我不确定是否有更好的方法来做这个。 谁能帮助?

谢谢!

时间: 原作者:

0 0

以下是如何在功能上生成这里数据的方法:


<?php
function convertTaskNumberToLetter($task) {
//get digits at the end of a string
 $digits = ereg_replace('^[^[:digit:]]*([[:digit:]]+)$', '1', $task);

 $numArr = str_split($digits);

 $result = '';

 foreach ($numArr as $digit) {
 $result. = chr($digit + 64);
 }

//return the updated string
 return str_replace($digits, $result, $task);
}

$taskList = array('task1', 'task2', 'task3', 'task4', 'task 5', 'task99', 'task999');

$updatedTaskList = array_map('convertTaskNumberToLetter', $taskList);

print_r($updatedTaskList);
?>

结果:


Array
(
 [0] => taskA
 [1] => taskB
 [2] => taskC
 [3] => taskD
 [4] => task E
 [5] => taskII
 [6] => taskIII
)

...