在PHP中查找并替换除第一个数字之外的数字

时间:2014-02-16 08:16:35

标签: php

我想从字符串中替换某个数字,但不要更改php中的第一个数字。

例如,将全部4更改为5:

34 => 35
148 => 158
2449 => 2559
15540 => 15550

43 => 43 (Don't change start 4)
450 => 450 (Don't change start 4)
4540 => 4550 (only change second 4)

3 个答案:

答案 0 :(得分:1)

$ex1 = '34';
$ex2 = '4540';

echo $ex1{0} . str_replace(4, 5, substr($ex1, 1)); // 35
echo $ex2{0} . str_replace(4, 5, substr($ex2, 1)); // 4550

必须是字符串 - 首先转换为字符串,然后在需要时转换回int。

答案 1 :(得分:1)

<?php
$a="4540";//As described in question its an string but it can even be a no auto type conversion will do the rest

$tem=$a[0];

$a=str_ireplace('4', '5', $a);

$a[0]=$tem;

echo $a;//or do what ever you want with $a

答案 2 :(得分:0)

试试这个:

<?php
$no="445486";
for($i=1;$i<strlen($no);$i++){
    if($no[$i]=="4")
        $no[$i]="5";
}
echo $no;