$str=':this is a applepie :) ';
Cách sử dụng PHP , Xóa ký tự đầu tiên:
$str=':this is a applepie :) ';
Cách sử dụng PHP , Xóa ký tự đầu tiên:
Câu trả lời:
Để xóa mọi thứ :
từ đầu chuỗi, bạn có thể sử dụng ltrim :
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
. Đôi khi đây không phải là hành vi mong muốn.
ltrim('prefixprefix_postfix', 'prefix')
kết quả trong'_postfix';
Các substr()
chức năng có thể sẽ giúp bạn ở đây:
$str = substr($str, 1);
Các chuỗi được lập chỉ mục bắt đầu từ 0 và tham số thứ hai này có chức năng cắt. Vì vậy, làm cho 1, và char đầu tiên đã biến mất.
false
đã được trả lại. Vì vậy, bạn sẽ cần kiểm tra xem chúng có bằng nhau không nếu đó không phải là hành vi bạn muốn.
Sử dụng substr :
$str = substr($str, 1); // this is a applepie :)
Thời gian thực hiện cho 3 câu trả lời:
Xóa chữ cái đầu tiên bằng cách thay thế trường hợp
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Thời gian thực hiện cho 1.000.000 bài kiểm tra: 0.39602184295654
giây
Xóa chữ cái đầu tiên với chất nền ()
$str = "hello";
$str = substr($str, 1);
Thời gian thực hiện cho 1.000.000 bài kiểm tra: 5.153294801712
giây
Xóa chữ cái đầu tiên bằng ltrim ()
$str = "hello";
$str= ltrim ($str,'h');
Thời gian thực hiện cho 1.000.000 bài kiểm tra: 5.2393000125885
giây
Xóa chữ cái đầu tiên bằng preg numplace ()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Thời gian thực hiện cho 1.000.000 bài kiểm tra: 6.8543920516968
giây
$str[0] = '';
giải pháp và nó không hoạt động. tuy nhiên, nếu bạn dự định sử dụng biến này để so sánh >
hoặc <
nó sẽ không hoạt động. Nó vẫn được tính là `` như + `chẳng hạn $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
hiển thị độ dài ký tự trước đó .. sau đó tôi đã thử cắt từ khóa và sau đó nó hoạt động tốt var_dump(trim($keyword))
.. Hy vọng điều này sẽ giúp được ai đó .. :)
Đây là mã
$str = substr($str, 1);
echo $str;
Đầu ra:
this is a applepie :)
Để xóa ký tự đầu tiên của chuỗi trong PHP,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
$str = substr($str, 1);
Xem ví dụ hướng dẫn sử dụng PHP 3
echo substr('abcdef', 1); // bcdef
Ghi chú:
unset($str[0])
sẽ không hoạt động vì bạn không thể bỏ đặt một phần của chuỗi: -
Fatal error: Cannot unset string offsets
Sau khi thử nghiệm thêm, tôi không khuyên bạn nên sử dụng điều này nữa. Nó gây ra sự cố cho tôi khi sử dụng chuỗi cập nhật trong truy vấn MySQL và thay đổi để substr
khắc phục sự cố. Tôi đã nghĩ về việc xóa câu trả lời này, nhưng ý kiến cho thấy nó nhanh hơn bằng cách nào đó để ai đó có thể sử dụng nó. Bạn có thể tìm thấy việc cắt xén chuỗi cập nhật giải quyết các vấn đề về độ dài chuỗi.
Đôi khi bạn không cần một chức năng:
$str[0] = '';
Ví dụ:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
Phương thức này sửa đổi chuỗi hiện có thay vì tạo chuỗi khác.
bạn có thể sử dụng hàm sbstr ()
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Trims xuất hiện của mỗi từ trong một mảng từ đầu và cuối của một chuỗi + khoảng trắng và tùy chọn thêm các ký tự đơn theo trang trí thông thường ()
<?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"
?>
Mã này hoạt động tốt cho tôi.
$str = substr($str ,-(strlen($str)-1));
Có lẽ, đóng góp với câu trả lời quá.