PHP数组元素替换

时间:2016-12-13 13:58:37

标签: php arrays replace

我想进行一些加密并写下数字 我用过:

$a = [100,101,102,103,104,105]
function decrition (array $a){
return preg_replace('/101/','a',$a);
}

它会给我所有的回信#34; a"对于阵列中的每个101。 我怎样才能改变? 101到" b",102到" c"等

 return preg_replace('[101|102|103|104|105]','a',$a);

此方法将所有这些数字替换为字母" a"

return preg_replace('[101|102|103|104|105','a|b|c|d|e',$a);

不幸的是它无法正常工作

3 个答案:

答案 0 :(得分:0)

为什么要尝试将其视为字符串?

<?php

$a = [ 101, 102, 103 ];

$replace_array = array(101 => "a", 102 => "b");
$b = array_map(function($val) use ($replace_array) {
  return (isset($replace_array[$val]) ? $replace_array[$val] : $val);
}, $a);

var_dump($a, $b);

提供以下输出:

array(3) {
  [0]=>
  int(101)
  [1]=>
  int(102)
  [2]=>
  int(103)
}
array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  int(103)
}

答案 1 :(得分:0)

也许你正在寻找这样的东西?

$test = str_replace($a, array('a','b','c','d','e','f'), $a);
print_r($test);

答案 2 :(得分:0)

此解决方案有效

 return str_replace(['101', '102', '103', '104', '105'], ['a', 'b', 'c', 'd', 'e'], $a);