Php dize unsurlardan kurtulmak için nasıl?

6 Cevap php

. Literal Müşteri id + Domain_details, örneğin customer_id etti: 998787+nl ve şimdi ben sadece 998787 olup +nl sahip olmak istiyorsanız, bu nasıl php bu gerçekleş

Soru:

I 9843324+nl gibi dizi var ve şimdi 9843324 + ve daha sonra sonunda ve sadece sahip dahil tüm unsurları kurtulmak istiyorum ve bunu nasıl yapmalıyım Bu php?

Şimdi ben bunu nasıl elde edebilirsiniz, $o_household->getInternalId 9843324+nl Bana verir ama 9843324 istiyorum yaşıyorum?

Teşekkürler.

Teşekkürler.

Update:

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

Bu benim sorunumu çözecek?

6 Cevap

<?php
$plusSignLoc = strpos($o_household->getInternalId, "+");
$myID = substr($o_household->getInternalId, 0, $plusSignLoc);

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

Bu + işareti bulmak ve o bir şey ve o silinecektir sonra her şeyi sigorta olacaktır.

Eğer önde gelen sıfırları tutmak istemiyorsanız, sadece bir tamsayı dönüştürmek.

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

+ sadece bir ayırıcı ve sutff ise önce olmayan bir sayı, kullanmak olabilir

$val = "9843324+nl";
$theID = substr($val, 0, strcspn($val, '+'));
// $theID should now be "9843324".

Kolay bir şekilde? Sadece bir int döküm ve ekstra şeyler düşüyorlar.

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

Çıktı:

998787

Eğer bir dize değeri kalması gerekiyorsa, etki ayrıntıları {[(atlayarak, substr aşağı son karakter 3 için başlangıç ​​indeksi dizeyi kesmek için kullanabileceğiniz 2)]}

$customer_id = substr($o_household->getInternalId, 0, -3);

Biraz daha genel bir çözüm olarak, bu normal ifade içine dizeden bir rakam değil her şeyi $str kaldırmak ve yeni dize koymak (sayı kümesi, bu yüzden bir tamsayı olarak tedavi edilebilir) olacaktır { [(1)]}

$num = preg_replace('/[^\d]/', '', $str);

explode() fonksiyonu kontrol edin, ve sınırlayıcı olarak + kullanın.