substr_replace数组值如何缩短?

时间:2014-09-08 18:58:03

标签: php

在网上搜索失败后。这是我的问题。

我想更改不同数组值的某些值,而不是更改数组的名称,如。

$arr = array('Example1','Example2','Example3');
$arr2 = array('Value1','Value2','Value3');

$arr[0]  = substr_replace($arr[0], 'X', -1, 1); 
$arr[2]  = substr_replace($arr[2], 'X', -1, 1); 
$arr2[1] = substr_replace($arr2[1], 'X', -1, 1); 
$arr2[2] = substr_replace($arr2[2], 'X', -1, 1); 

如何缩短所有substr_replace行?我想我需要一个循环。

2 个答案:

答案 0 :(得分:1)

编辑:
如果要更改每个值,请使用 foreach 进行循环
如果您只更改一些已知字符串,请使用函数:

function rpl($arr,$a){
    return substr_replace($arr[$a],'X',-1,1);
}

然后使用:

$arr[0]=rpl($arr,0);
$arr[2]=rpl($arr,2);
$arr2[1]=rpl($arr2,1);
$arr2[2]=rpl($arr2,2);

答案 1 :(得分:1)

如果要更改数组中的所有内容,可以将数组而不是字符串传递给substr_replace

  

http://php.net/manual/en/function.substr-replace.php

示例:

$arr=substr_replace($arr,'X',-1,1);

如果你想做循环:
使用foreach更改数组中的值实际上很复杂(我后来才意识到) 使用正常循环在这里更好

for($i=0;$i<count($arr);$i++)
    $arr[$i]=substr_replace($arr[$i],'X',-1,1);