плавающий вывод из функции php - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть простая php функция замены, мне нужно вернуть «0» (для перепродажи) и «1» (для новостройки)

. function multi_rep2( $oldVar = '' ) {
    $searchVal2 = array("newbuilt", "resale");
    $replaceVal2 = array("1", "0");
    return str_replace($searchVal2, $replaceVal2, $oldVar);
}

В моем выводе я получаю « 1 ", но не" 0 ". Я понял, что мне нужно преобразовать ноль в значение с плавающей точкой, которое будет возвращено. Я попробовал несколько вещей с функцией floatval (), но не могу заставить ее работать.

Кто-нибудь, кто может установить меня в правильном направлении?

Добрый, с уважением.

Ответы [ 3 ]

0 голосов
/ 15 февраля 2020

Я запутался, почему вам нужно конвертировать ноль в число с плавающей точкой? Я попробовал это в PHP песочнице, и, кажется, работает нормально.

$oldVar = 'newbuilt and resale'; 
    $searchVal2 = array("newbuilt", "resale");
    $replaceVal2 = array(1, 0);
    $rep = str_replace($searchVal2, $replaceVal2, $oldVar);
    echo $rep;

Это повторяет "1 и 0" вместо "newbuilt and reale".

0 голосов
/ 15 февраля 2020

Как уже говорили другие, эта функция работает. Чтобы разобрать значение с плавающей точкой, сделайте что-то вроде:

function multi_rep2( $oldVar = '' ) {
    $searchVal2 = array("newbuilt", "resale");
    $replaceVal2 = array("1", "0");
    return floatval(str_replace($searchVal2, $replaceVal2, $oldVar));
}
// yields: float(0)
var_dump(multi_rep2('resale'));

Песочница

0 голосов
/ 15 февраля 2020

Ваш код работает отлично:

function multi_rep2( $oldVar = '' ) {
    $searchVal2 = array("newbuilt", "resale");
    $replaceVal2 = array("1", "0");
    return str_replace($searchVal2, $replaceVal2, $oldVar);
}

$t = 'Hello i am newbuilt and not resale, bye';
var_dump(multi_rep2($t));
// string(27) "Hello i am 1 and not 0, bye"

Вы уверены, что "перепродажа" в вашей строке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...