답변:
:
문자열의 시작 부분에서 모든 것을 제거하려면 ltrim 을 사용할 수 있습니다 .
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
. 때때로 이것은 바람직한 동작이 아닙니다.
ltrim('prefixprefix_postfix', 'prefix')
결과'_postfix';
이 substr()
기능은 아마도 당신을 도울 것입니다 :
$str = substr($str, 1);
문자열은 0부터 시작하여 색인화되며이 함수의 두 번째 매개 변수는 cutstart를 사용합니다. 1로하면 첫 번째 문자가 사라집니다.
false
에 리턴되었습니다. 따라서 원하는 동작이 아닌지 확인해야합니다.
substr 사용 :
$str = substr($str, 1); // this is a applepie :)
3 답변에 대한 실행 시간 :
케이스를 교체하여 첫 글자를 제거하십시오
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
1.000.000 테스트 실행 시간 : 0.39602184295654
초
substr ()으로 첫 글자를 제거하십시오
$str = "hello";
$str = substr($str, 1);
1.000.000 테스트 실행 시간 : 5.153294801712
초
ltrim ()으로 첫 글자를 제거하십시오
$str = "hello";
$str= ltrim ($str,'h');
1.000.000 테스트 실행 시간 : 5.2393000125885
초
preg_replace ()로 첫 글자를 제거하십시오
$str = "hello";
$str = preg_replace('/^./', '', $str);
1.000.000 테스트 실행 시간 : 6.8543920516968
초
$str[0] = '';
해결책을 시도했지만 작동 하지 않았습니다 . 잘은 다음 비교 예를 들어 변수를 사용할 계획이라면 그러나 않습니다 >
또는 <
이 작동하지 않습니다. 예를 들어``+를 +로 계산합니다 $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
하여 이전 문자 길이를 표시하려고 시도했습니다. 키워드를 잘라 내고 정상적으로 작동했습니다 var_dump(trim($keyword))
.
$str = substr($str, 1);
PHP 매뉴얼 예제 3 참조
echo substr('abcdef', 1); // bcdef
노트 :
unset($str[0])
작동하지 않습니다 당신이 문자열이 아닌 설정되지 않은 부분을 가능한 한 : -
Fatal error: Cannot unset string offsets
추가 테스트 후에는 더 이상 사용하지 않는 것이 좋습니다. MySQL 쿼리에서 업데이트 된 문자열을 사용하고 문제를 해결하도록 변경 substr
하면 문제가 발생했습니다. 이 답변을 삭제하는 것에 대해 생각했지만 의견에 따르면 누군가가 더 빨리 사용할 수 있다고 제안합니다. 업데이트 된 문자열을 자르면 문자열 길이 문제가 해결 될 수 있습니다.
때로는 기능이 필요하지 않습니다.
$str[0] = '';
예를 들면 다음과 같습니다.
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
이 메소드는 다른 문자열을 작성하지 않고 기존 문자열을 수정합니다.
sbstr () 함수를 사용할 수 있습니다
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
문자열의 시작과 끝에서 배열의 모든 단어의 발생을 자르고 + 일반 공백에 따라 선택적으로 여분의 단일 문자
<?php
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\0\x0B"; // default trim chars
$pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
$str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
return $str;
}
// for example:
$trim_list = array('AND', 'OR');
$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"
$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>
코드가 잘 작동합니다.
$str = substr($str ,-(strlen($str)-1));
어쩌면 대답도 함께 공헌하십시오.