Strings , en serie tecken som lagras i PHP strängvariabler , måste ofta tolkas ( extraheras eller cutoff ) . Till exempel, om den första och sista namnet på en person som är lagrad i en sträng variabel , kanske du måste extrahera förnamn och efternamn och sätta dem i separata strängvariabler . Eftersom den första och sista namnet är ofta separerade med ett mellanslag eller ett kommatecken , kan du använda PHP sträng funktioner för att hitta utrymme eller kommatecken ( känd som avgränsare ) och cutoff de tecken som följer avgränsare . Instruktioner
1
Använd stgpos funktionen för att hitta positionen för tecknet i strängen variabeln . Till exempel , för att hitta mellanslag i namnet " Mark Stansberry " som tilldelas ett sträng varible heter $ namn , använd följande PHP-kod :
$ name = ' Mark Stansberry ' ;
$ findspace = ' ' ;
$ position = strpos ( $ name , $ findspace ) ,
$ positionen variabeln kommer att innehålla numret 4 , som är den position blanksteg i strängen "Mark Stansberry . " Den första positionen i en sträng definieras som position 0 .
2
Klipp bort den sista delen av strängen ( det sista namnet i detta exempel ) med substr funktion . För detta exempel använder PHP -koden nedan för att åstadkomma detta :
$ endIndex = 0 ;
$ namn = substr ( $ namn , $ endIndex $ positionen ) ;
om det första argumentet i funktionen SUBSTR är strängvariabeln att hitta delsträng i , i detta fall strängen variabeln $ namn .
det andra argumentet för substr funktion är det start index , där du vill börja extrahera tecken från strängen . I detta fall är det läge 0 ( $ endIndex ) , eftersom du vill behålla den första delen av strängen .
Det tredje argumentet är det antal tecken du vill extrahera från strängen . I detta fall är det lika med det antal tecken upp till utrymmet karaktär. Detta är det värde som erhölls med strgpos funktionen $ positionen .
3
Skriv eller kopiera och klistra in koden nedan i din textredigerare och spara den med filnamnet , cut_off_string . php : ?
< php
$ name = ' Mark Stansberry ' ,
$ findspace = ' ' ;
$ positionen = strpos ( $ namn , $ findspace ) ,
echo " mellanslag i ' $ name' är i läge $ positionen " ,
$ endIndex = 0 ;
$ namn = substr ( $ name , $ endIndex $ positionen);
echo " strängen variabel som heter namn innehåller nu bara förnamnet , $ namn "; ?
>
det färdiga programmet ovan visar återstående strängen med efternamnet avskuren , enligt nedan .
blanksteg i " Mark Stansberry ' är i position 4
strängvariabel som heter namn nu innehåller bara förnamnet , Mark