Why does ltrim remove one character when the second argument contains an operator sign? [duplicate]
问题 This question already has answers here : ltrim strips more than needed (5 answers) Closed last year . If I do: ltrim('53-34567', '53-'); ltrim('53+34567', '53+'); ltrim('53*34567', '53*'); I get 4567 as the result and not 34567 . What's the explanation for this behavior? 回答1: ltrim('53-34567', '53-'); There is a 5 at the begining of '53-34567' so it is removed. There is a 3 at the begining of '3-34567' so it is removed. There is a - at the begining of '-34567' so it is removed. There is a 3