Я пытаюсь избавиться от - в строке типа 50-000 и вывести 50000, но не могу использовать strstr. Вот код, который я пробовал
$addr = "50-000";
echo $addr = strtr($addr, "-", "");
Любые подсказки, что здесь происходит не так.
Спасибо.
Я пытаюсь избавиться от - в строке типа 50-000 и вывести 50000, но не могу использовать strstr. Вот код, который я пробовал
$addr = "50-000";
echo $addr = strtr($addr, "-", "");
Любые подсказки, что здесь происходит не так.
Спасибо.
Просто используйте str_replace()
echo str_replace('-', '', "50-000");
попробуй это
echo str_replace("-","","50-000");
Согласно руководству:
string strtr ( string $str , string $from , string $to )
Если даны три аргумента, ... Если from и to имеют различную длину, лишние символы в более длинном из двух игнорируются. Длина str будет такой же, как и возвращаемое значение.
Поскольку "-"
длиннее, чем ""
, символ игнорируется.
Поскольку этот вызов с тремя аргументами возвращает строку той же длины, сокращение строки с "50-000" до "50000" может не помочь.
Вместо этого вы можете попробовать вызов с двумя аргументами, где длина возвращаемой строки может отличаться:
string strtr ( string $str , array $replace_pairs )
E.g.
$addr = "50-000";
echo $addr = strtr($addr, array("-"=>""));
// returns "50000"
Если вам интересно узнать больше о strtr()
и str_replace()
:
PHP strtr vs str_replace бенчмаркинг
Когда использовать strtr vs str_replace?
str_replace
намного быстрее, чемstrtr
, хотя в реальном мире это, вероятно, не имело бы значения. - person   schedule 29.01.2014