Как избавиться от строковых элементов в php? - PullRequest
0 голосов
/ 08 февраля 2010

Литерал идентификатора клиента имеет customer_id + Domain_details, например: 998787+nl, и теперь я просто хочу иметь 998787, а не +nl, как это можно получить в php

Вопрос:

У меня есть номер, такой как 9843324+nl, и теперь я хочу избавиться от всех элементов, включая + и потом в конце, и иметь только 9843324, и как мне это сделать в php?

Прямо сейчас у меня $o_household->getInternalId возвращает меня 9843324+nl но я хочу 9843324, как мне этого добиться?

Спасибо.

Спасибо.

Обновление :

    list($customer_id) = explode('+',$o_household->getInternalId());

Это решит мою проблему?

Ответы [ 6 ]

2 голосов
/ 08 февраля 2010

Простой способ? Просто приведите его к int, и он отбросит лишние вещи.

<?php
$s = '998787+nl';
echo (int)$s;
?>

Выход:

998787
2 голосов
/ 08 февраля 2010

Если вы не хотите сохранять начальные нули, просто конвертируйте их в целое число.

$theID = (int)"9843324+nl";
// $theID should now be 9843324.

Если + - это просто разделитель, а перед ним может быть не число, используйте

$val = "9843324+nl";
$theID = substr($val, 0, strcspn($val, '+'));
// $theID should now be "9843324".
1 голос
/ 08 февраля 2010
<?php
$plusSignLoc = strpos($o_household->getInternalId, "+");
$myID = substr($o_household->getInternalId, 0, $plusSignLoc);

//Debug (Verification)
echo $myID;
?>

Это найдет знак + и обеспечит удаление всего и вся после него.

1 голос
/ 08 февраля 2010

Как более общее решение, это регулярное выражение удалит все, что не является цифрой из строки $str и поместит новую строку (набор чисел, так что ее можно рассматривать как целое число) в $num

$num = preg_replace('/[^\d]/', '', $str);
1 голос
/ 08 февраля 2010

Если вам нужно, чтобы оно оставалось строковым значением, вы можете использовать substr, чтобы сократить строку до ее начального индекса до 3-го от последнего символа, опуская домендетали +nl

$customer_id = substr($o_household->getInternalId, 0, -3);
0 голосов
/ 08 февраля 2010

Проверьте функцию explode () и используйте + в качестве разделителя.

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