Ответ 1
Попробуйте следующее:
$new = substr($id, 0, -3) . 'xxx';
Результат:
01922xxx
У меня есть переменная PHP, которая выглядит примерно так:
$id = "01922312";
Мне нужно заменить последние два или три числа другим символом. Как я могу это сделать?
EDIT Извините за путаницу, в основном у меня есть переменная выше, и после того, как я закончил ее обработку, я бы хотел, чтобы она выглядела примерно так:
$new = "01922xxx";
Попробуйте следующее:
$new = substr($id, 0, -3) . 'xxx';
Результат:
01922xxx
Вы можете использовать substr_replace
для замены подстроки.
$id = substr_replace($id, 'xxx', -3);
Ссылка:
function replaceCharsInNumber($num, $chars) {
return substr((string) $num, 0, -strlen($chars)) . $chars;
}
Использование:
$number = 5069695;
echo replaceCharsInNumber($number, 'xxx'); //5069xxx
Смотрите здесь: http://codepad.org/XGyVQ1hk
Строки можно рассматривать как массивы, причем символами являются ключи:
$id = 1922312; // PHP converts 01922312 => 1 because of that leading zero. Either make it a string or remove the zero.
$id_str = strval($id);
for ($i = 0; $i < count($id_str); $i++)
{
print($id_str[$i]);
}
Это должно выводить исходный номер. Теперь, чтобы делать с ним вещи, рассматривайте его как обычный массив:
$id_str[count($id_str) - 1] = 'x';
$id_str[count($id_str) - 2] = 'y';
$id_str[count($id_str) - 3] = 'z';
Надеюсь, это поможет!
Просто конвертируйте в строку и замените...
$stringId = $id . '';
$stringId = substr($id, 0, -2) . 'XX';