Cho chuỗi php

Việc xử lý chuỗi trong trình lập PHP rất quan trọng vì dữ liệu để hiển thị trên trang web đa phần ở dạng chuỗi. Vì thế sự hiểu biết và nắm bắt công thức kiến ​​thức trong chuỗi xử lý sẽ giúp bạn tối ưu hóa hiệu suất của trang web và thúc đẩy nhanh tiến độ thiết kế trang web. Dưới đây là một chuỗi hàm số và chuỗi xử lý toán tử trong PHP

Nội dung chính Hiển thị

Chuỗi tử toán. To connect 2 string they ta using thanh toán tử [. ]

Ví dụ. lặp lại "abc". "". "def";

Các hàm xử lý chuỗi cơ bản

Hàm strlen[chuỗi]. được sử dụng để tính chiều dài của chuỗi

Ví dụ

//kết quả in ra:12

Hàm str_word_count[string $string [, int $format = 0 [, string $charlist ]]]. đếm tổng số từ có trong chuỗi

  • sợi dây. only string to check
  • định dạng. only type value return of str_word_count[]. This value can may be
    • 0 - Default - Trả về số lượng từ đếm được
    • 1 - Trả về một mảng chứa các từ trong chuỗi
    • 2 - Trả về một mảng với key là vị trí của từ trong chuỗi và giá trị là từ trong chuỗi
  • danh sách từ thiện. Chỉ định các ký tự đặc biệt sẽ được xem như một từ trong chuỗi

Ví dụ

//kết quả in ra: Array [ [0] => Hello [1] => world ]

Hàm strtoupper[string]. change chữ thường thành hoa.
Hàm strtolower[string]. change letter to normal.
Hàm ucfirst[string]. đổi chữ trong ký tự đầu tiên của chuỗi.
Hàm ucwords[string]. đổi chữ theo ký tự đầu tiên của mỗi từ trong chuỗi.
Hàm trim[$string, $character]; .
Hàm ltrim[$string, $character]. Tương tự như trim nhưng chỉ xóa bên trái
Hàm rtrim[$string, $character]. Tương tự như trim nhưng chỉ xóa bên phải

Hàm tìm kiếm và chuỗi thay thế

Hàm substr[ string $string , int $start [, int $length ] ]. cắt một phần của chuỗi từ vị trí bắt đầu một đoạn được xác định chỉ bằng độ dài tham số

  • sợi dây. input string to the cut string con
  • bắt đầu. if start is a số dương, chuỗi được trả về sẽ bắt đầu từ vị trí bắt đầu [ký tự đầu tiên của chuỗi được tính là 0]. If start is a number of sound string con return will be stopped from vị trí bắt đầu tính từ cuối chuỗi
  • chiều dài. độ dài của chuỗi trả về. Mặc định độ dài được tính cho cuối chuỗi
    • chiều dài> 0. Độ dài của chuỗi trả về được tính từ chuỗi đầu
    • chiều dài

      Kết quả trả lại

      d
      ello world
      lo world
      orld

      d
      ello world
      lo world
      orld

      Hàm explode[$delimiter, $string]. chuyển một chuỗi chuỗi thành một mảng các phần tử với các ký tự phân tách mảng là dấu phân cách

      Ví dụ

      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'

      Hàm implode[$delimiter, $piecesarray]. Ngược lại với hàm phát nổ, nó chuyển một mảng $piecesarray thành chuỗi và mỗi phần tử trong mảng được kết nối với nhau bởi chuỗi $delimiter

      Ví dụ

      Hàm strstr[ $string, $needle]. Tách một chuỗi bắt đầu từ $needle cho đến hết chuỗi

      Ví dụ

      Hàm strpos[$string, $needle]. Find the position of string $needle in string $string, results results return the first location of $needle if found and false if not found

      Ví dụ

      $mystring = 'abc';
      $findme   = 'b';
      $pos = strpos[$mystring, $findme];
      echo $pos;
      //kết quả: 1

      Bản dịch tiếng Việt [Tiếng Việt] của Vy Cam Nguyen [bạn cũng có thể xem bài viết gốc tiếng Anh]

      Nội dung chính

      • Tạo các số ngẫu nhiên trong PHP
      • Random number has been wholeized code
      • Các số float ngẫu nhiên
      • Seed for Natural Random Number
      • Tạo chuỗi ký tự ngẫu nhiên trong PHP
      • Tạo các chuỗi hỗn hợp
      • Create Random string
      • Tạo chuỗi thập lục phân [thập lục phân] ngẫu nhiên
      • Tạo chuỗi ngẫu nhiên có bảo mật mã hóa
      • Tổng kết

      Hãy để tôi bắt đầu viết bài này bằng việc nói rằng hầu như không có sự kiện nào thực sự ngẫu nhiên. Ngay cả kết quả của trò chơi tung đồng xu kinh điển về mặt lý thuyết cũng có thể được dự đoán nếu chúng ta biết tác động của mọi yếu tố liên quan, như ma sát không khí, trọng lực và lực ban đầu

      Việc tạo ra các chuỗi ngẫu nhiên bao gồm chữ và số cũng có nguyên tắc tương tự. Điều tốt đẹp nhất có thể chờ đợi là tạo ra các số và chuỗi không tuân theo một khuôn mẫu [hình mẫu] và một kẻ tấn công về thực tiễn sẽ không thể đoán ra

      Trong hướng dẫn này, chúng tôi sẽ đề cập đến các kỹ thuật khác nhau để tạo số và chuỗi ký tự ngẫu nhiên trong PHP. Một số trong chúng sẽ được mã hóa, trong khi một số khác chỉ dành cho nhu cầu thông thường, chẳng hạn như gán tên tệp giả ngẫu nhiên hoặc tạo URL và tên người dùng xuất [tên người dùng]

      Tạo các số ngẫu nhiên trong PHP

      Có ba hàm khác nhau để tạo ngẫu nhiên số trong PHP. Tất cả các hàm sẽ nhận một giá trị tối thiểu và tối đa tối đa có thể cho các số ngẫu nhiên và trả về một số ngẫu nhiên cho bạn. That is

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      5,
      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      6 and
      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      7

      With

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      8, giá trị tối thiểu và tối đa của các số nguyên [số nguyên] mà bạn có thể tạo nằm giữa
      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      9 và giá trị được trả về bởi
      0. Trước khi có PHP 7. 1. 0, this function slow more than times intervals with 
      1. Tuy nhiên, bắt đầu từ PHP 7. 1. 0, it was a alias of 
      1. Tuy nhiên, không giống như 
      1, bạn có thể đặt giá trị của 
      4 thấp hơn 
      5 mà không gây ra lỗi

      Với

      1, giá trị tối thiểu và tối đa tối đa của số nguyên bạn có thể tạo nằm giữa 
      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      9 và giá trị được hoàn trả bởi
      8. Nó dựa vào sự phát triển của Mersenne Twister để tạo ra các ngẫu nhiên số. Xem ra, mặc định trước khi có PHP 7. 1. 0, this function has been development a phiên bản thuật toán không chính xác để tạo ra các số. Tuy nhiên, hàm này đã được sửa đổi trong các phiên bản mới hơn

      Hàm này thậm chí còn trở nên tốt hơn trong PHP 7. 2. 0 bằng cách loại bỏ lỗi modulo. Điều này có nghĩa là đối lập với một số hạt giống cụ thể, chuỗi số ngẫu nhiên của bạn bây giờ sẽ tốt hơn một chút so với các phiên bản cũ hơn. Măc dù một số mã chuyên dụng thực sự có thể dựa vào khuynh hướng này. Nếu vậy, bạn có thể sử dụng thuật toán seed cũ hơn bằng cách gọi hàm

      9 để seed trình tạo ngẫu nhiên số và truyền 
      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      0 làm giá trị của tham số thứ hai

      Hàm

      1 có chu kỳ 219937−1, về cơ bản có nghĩa là trong trường hợp tốt nhất bạn có số lượng ngẫu nhiên 219937−1 trước khi chuỗi bắt đầu lặp lại. Bạn nên lưu ý rằng việc lặp lại một chuỗi không giống như việc lặp lại một số cụ thể. Nói cách khác, bạn có thể nhận được cùng một số ngẫu nhiên hai lần, nhưng điều đó không có nghĩa là chuỗi chính đã bắt đầu lặp lại. Trình tự sau đây là một ví dụ

      4

      Trong chuỗi trên, chúng tôi đã có 1267 hai lần trong kết quả, nhưng điều đó không có nghĩa là toàn bộ chuỗi bắt đầu lặp lại sau đó. Không thể lặp lại một số lặp lại sớm như vậy trong một chuỗi ngẫu nhiên, nhưng điều đó có thể

      Random number has been wholeized code

      Nếu bạn muốn các số giả [giả] ngẫu nhiên được bảo mật bằng mã hóa, hàm

      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      2 trong PHP là lựa chọn tốt nhất của bạn. Nó sẽ tạo ra các số ngẫu nhiên giữa các giá trị
      5 và 
      4 được cung cấp, mặc định là 
      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      5 và
      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      6. Thật không thể, this function only start support from PHP 7. 0. Đối với các phiên bản trước đó, bạn có thể sử dụng polyfill này trên GitHub

      Các số float ngẫu nhiên

      Thay vì tạo số nguyên ngẫu nhiên, có thể bạn cũng muốn tạo số float. Điều này có thể được thực hiện dễ dàng bằng cách chia một số ngẫu nhiên với giá trị được trả lại bởi

      8. Ví dụ sau đây sẽ minh họa cách tạo ra một số float ngẫu nhiên trong khoảng từ 0 đến 1 hoặc giữa bất kỳ giới hạn tối thiểu và tối đa nào khác

      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      1

      Khi tạo số float ngẫu nhiên giữa các giới hạn nhất định, chúng tôi chắc chắn rằng các số nguyên ngẫu nhiên không vượt quá

      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      8. Bằng cách này, chúng tôi có thể chắc chắn rằng việc sử dụng thêm phần float sẽ không lấy số vượt quá giới hạn tối đa

      Seed for Natural Random Number

      Một khái niệm cần một chút giải thích là hạt giống. Nói một cách đơn giản, đây chỉ là những số có thể được sử dụng để khởi tạo các hàm

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      8 và
      1 trước khi tạo bất kỳ số ngẫu nhiên nào. Hàm mà seed 
      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      8 được gọi là
      2 và hàm tạo seed 
      1 được gọi là 
      4

      Điều quan trọng cần nhớ là việc cung cấp một giá trị cấm hạt giống đầu mỗi lần trước khi gọi

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      8 và
      1 sẽ không nhất thiết phải tạo ra các số ngẫu nhiên tốt hơn. Trong thực tế, việc sử dụng cùng một hạt giống mỗi lần sẽ cho bạn cùng một số ngẫu nhiên

      1

      Seed một số ngẫu nhiên rất hữu ích trong các tình huống mà bạn muốn tạo một chuỗi ngẫu nhiên nhưng có thể lặp lại. Đoạn mã sau được tạo ra cùng một chuỗi các số ngẫu nhiên khi chạy hai lần

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      0

      Việc tạo các chuỗi ngẫu nhiên có thể lặp lại theo cách này có thể giúp loại bỏ lỗi các chương trình đang được thử nghiệm bằng cách sử dụng dữ liệu ngẫu nhiên nếu bạn theo dõi hạt giống, bạn có thể sao chép cùng một dữ liệu đầu vào

      Tạo chuỗi ký tự ngẫu nhiên trong PHP

      Có nhiều cách để tạo chuỗi ký tự chữ cái và số ngẫu nhiên và bạn sử dụng cái gì thì sẽ phụ thuộc vào nhu cầu của bạn

      Tạo các chuỗi hỗn hợp

      Nếu bạn muốn tạo các chuỗi ký tự chữ và số ngẫu nhiên từ một bộ ký tự cố định, bạn có thể sử dụng hàm

      7. Hàm này sẽ trả về cho bạn một chuỗi hỗn hợp ngẫu nhiên. Bắt đầu từ PHP 7. 1, thuật toán xác định thứ tự ngẫu nhiên của các ký tự trong chuỗi kết quả đã được thay đổi thành Mersenne Twister

      Hãy nhớ rằng chuỗi ngẫu nhiên được tạo theo cách này không an toàn về mặt bảo mật mã hóa. Tuy nhiên, chuỗi vẫn sẽ không thể đoán trước được khi nhu cầu sử dụng phổ biến như tạo tên tệp hoặc URL ngẫu nhiên. Đây là một vài ví dụ

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      1

      Kết quả của bạn có thể sẽ khác nhau trong cả hai trường hợp. Trong trường hợp đầu tiên, chúng tôi chỉ xáo trộn chuỗi ký tự được phép và sau đó lấy 10 ký tự đầu tiên của chuỗi đó. Trong trường hợp thứ hai, chúng tôi đã thêm "video" vào chuỗi đầu được tạo và ". mp4" ở cuối

      Phương pháp tạo chuỗi ký tự chữ cái và số ngẫu nhiên này rất dễ dàng, nhưng gặp phải một số vấn đề. Ví dụ. bạn sẽ không bao giờ có được các ký tự giống nhau trong chuỗi ngẫu nhiên của mình hai lần. Ngoài ra, độ dài của chuỗi kết quả ngẫu nhiên chỉ có thể dài bằng chuỗi nhập vào

      Create Random string

      Nếu các vấn đề tôi liệt kê ở trên là một tác nhân làm hỏng vấn đề, bạn có thể muốn xem xét một số khai thác khác. Các mã sau đây sẽ giải quyết cả hai vấn đề này

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      2

      Bạn có thể sửa đổi nó để bổ sung các công cụ tiền tố và tiền tố có thể vào chuỗi ngẫu nhiên vừa được tạo. Những người đang sử dụng PHP 7 có thể cải thiện tốt hơn nữa việc tạo chuỗi bằng cách sử dụng hàm bảo mật mã hóa

      $str = 'programming and digital marketing training';
        
      // sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng
      var_dump[explode[' ', $str]]; /*Kết quả array 0 => 'programming', 1 => 'and', 2 => 'digital' , 3 => 'marketing', 4 => 'training'
      2 thay vì
      1

      Tạo chuỗi thập lục phân [thập lục phân] ngẫu nhiên

      Nếu bạn muốn tạo các chuỗi thập lục phân ngẫu nhiên trong PHP, bạn cũng có thể sử dụng hàm

      0 hoặc hàm 
      1. Cả hai sẽ tạo ra hàm băm của một chuỗi đã nhập

      Bạn sẽ tiếp tục nhận được giá trị băm duy nhất miễn phí là dữ liệu vào duy nhất. Điều này có thể đạt được bằng cách sử dụng kết quả của hàm như

      2 làm dữ liệu nhập vào. Theo mặc định, 
      3 sẽ trả về chuỗi thập lục phân 32 ký tự và 
      4 sẽ trả về chuỗi thập lục phân 40 ký tự. Chúng có thể được cắt theo một độ dài cụ thể bằng cách sử dụng hàm 
      5

      Dưới đây là một ví dụ kết quả được trả về bởi các hàm này

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      3

      Như bạn có thể thấy, việc tạo các chuỗi thập lục phân ngẫu nhiên và duy nhất dài tới 40 ký tự rất dễ dàng trong PHP

      Tạo chuỗi ngẫu nhiên có bảo mật mã hóa

      Ba hàm để tạo các chuỗi ký tự chữ cái và số ngẫu nhiên mà chúng ta đã thảo luận cho đến nay không có bảo mật mã hóa. May mắn thay, PHP cũng có một hàm

      6 để tạo các byte giả ngẫu nhiên được bảo mật mã hóa. Tham số 
      7 xác định chuỗi kết quả sẽ dài bao nhiêu

      Khi bạn có kết quả dưới dạng byte ngẫu nhiên, bạn có thể sử dụng hàm

      8 để chuyển đổi chúng thành giá trị thập lục phân. Điều này sẽ làm tăng gấp đôi chiều dài của chuỗi

      //kết quả in ra: Array [ [0] => Hello [1] => world ]
      4

      Một chức năng khác mà bạn có thể sử dụng để tạo các byte ngẫu nhiên được bảo mật mã hóa là

      9. Giá trị của tham số thứ hai có thể được sử dụng để xác định xem chuỗi kết quả sẽ được tạo bằng thuật toán bảo đảm mã hóa hay không

      Tổng kết

      Trong hướng dẫn này, chúng tôi đã xem xét việc tạo ra các số và các chuỗi ký tự ngẫu nhiên trong PHP. Việc tạo ra các số ngẫu nhiên có thể hữu ích trong nhiều vấn đề, chẳng hạn như trong các trò chơi mà bạn phải tạo ra những kẻ thù hoặc ngẫu nhiên cung cấp cho người chơi một số mối quan hệ về các chữ cái để họ có thể tạo thành

      Cũng giống như các số ngẫu nhiên, việc tạo ra các chuỗi chữ và số ngẫu nhiên cũng có thể khá hữu ích trong nhiều trường hợp. Với sự trợ giúp của

      $mystring = 'abc';
      $findme   = 'b';
      $pos = strpos[$mystring, $findme];
      echo $pos;
      //kết quả: 1
      0, bạn có thể chọn bất kỳ bộ ký tự nào xuất hiện trong chuỗi ngẫu nhiên của mình. Với sha1[] và md5[], bạn có thể dễ dàng tạo các chuỗi thập lục phân ngẫu nhiên và với Random_bytes[], bạn có thể tạo các chuỗi bảo mật bằng mã mật. Điều này sẽ cho phép bạn tạo tên tệp và tên người dùng ngẫu nhiên nhưng khó đoán

Chủ Đề