【问题标题】:PHP array elements replacePHP数组元素替换
【发布时间】:2017-04-28 14:59:10
【问题描述】:

我想做一些加密和写数字
我用过:

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

它会返回数组中每个 101 的所有字母“a”。 接下来我该如何改变? 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);

不幸的是,它不起作用

【问题讨论】:

标签: php arrays replace


【解决方案1】:

你为什么试图把它当作一个字符串?

<?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)
}

【讨论】:

    【解决方案2】:

    也许您正在寻找类似的东西?

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

    【讨论】:

      【解决方案3】:

      此解决方案有效

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

      【讨论】:

        猜你喜欢
        • 2010-11-07
        • 1970-01-01
        • 2018-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多