Máy tínhLập trình

PHP Practice: string so sánh

PHP là tập trung vào việc xử lý thông tin tốt. Cú pháp của ngôn ngữ được thể hiện đầy đủ chức năng thiết lập các chức năng so sánh, xử lý chuỗi, toán tử so sánh.

Bất kỳ thuật toán - một chuỗi các lựa chọn và hành động. Nhưng trước khi bạn thực hiện một sự lựa chọn, bạn cần một cái gì đó để so sánh nó với một cái gì đó. Line - cơ chế kiểm soát thuật toán dung lượng nhất, hiệu quả và thiết thực. Line - một biến thể của trình bày dữ liệu. Một dữ liệu - đây là chủ đề chính của "chăm sóc" của bất kỳ thuật toán.

logic thông thường "so-action"

Nhìn chung, năng động gõ lưỡi không có sự khác biệt trong các dữ liệu, chẳng hạn như dòng PHP so sánh và con số này không chênh lệch nhiều. Số - nó cũng là một chuỗi, khi nó chỉ chứa số, điểm và không có một nhân vật duy nhất không được sử dụng để đại diện cho số dưới mọi hình thức (ký hiệu toán học).

Nếu số kontenkatsii tự động kết hợp với dòng, không có câu hỏi và không có lỗi ẩn, ngay cả khi GetType () chức năng cung cấp cho các 'nguyên' hoặc 'kép'.

Tuy nhiên, có một sự khác biệt giữa việc sử dụng is_int () và is_numeric (). Là người đầu tiên mang lại cho sự thật, chỉ khi tham số là một số nguyên, thứ hai, khi bất kỳ số hoặc chuỗi số (loại biến là 'string', nhưng bao gồm tất cả các ký hiệu toán học cung cấp).

Đây là một ví dụ rất đơn giản - một ví dụ tốt về cách một nhà khai thác chuỗi PHP so sánh ( '==' '===' ... '='!) Có thể trình bày nhiều bất ngờ. Các biến có thể thay đổi kiểu của họ, họ không phải lúc nào con số, nhưng hầu như lúc nào cũng có thể dẫn đến dòng. Trong một trường hợp cực đoan - nó sẽ là một chuỗi rỗng.

Dựa trên việc trên, một PHP chức năng chuỗi so sánh là phổ biến nhất. Những gì chính xác để lựa chọn, quyết định các nhà phát triển. Rất nhiều tùy chọn có sẵn lên đến biểu thức thông thường.

Các ranh giới của chức năng có sẵn

PHP-so sánh hai hàng là tốt "làm" strpos function () - rẻ nhất, các tín hữu và lựa chọn thực tế. Nếu kết quả của số chức năng, sau đó rõ ràng là một chuỗi là bằng nhau hoặc một phần khác.

Triệt để đối diện, nhưng cũng hoàn toàn cách tiếp cận đúng - việc sử dụng các biểu thức thông thường.

Nếu chức năng $ cResult = scCheckFileName ($ CStr) mang đến cho 'true', sau đó dòng là tên của tập tin vordovsky. Ông sẽ chỉ có một lựa chọn mở rộng '.docx' và không có ký tự trong tên: chữ cái, chữ số và các ký tự '_', '-'.

Các chức năng có thể dễ dàng chuyển đổi sang các loại tập tin: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u'. Phiên bản này mở rộng phạm vi quét tải dòng (ví dụ, chuỗi PHP so sánh được áp dụng "để tải lên tập tin vào một máy chủ, không có cơ hội báo lỗi đầu vào") cho html, js, css, ...

Sử dụng strpos () và preg_match () - thái cực. Họ không liên quan trực tiếp đến vấn đề của thời kỳ so sánh. Nhưng câu hỏi của thuật toán - là một vấn đề của việc sử dụng một sự kết hợp của phong cách, sử dụng tất cả các cơ hội để đạt được một kết quả đáng tin cậy và chính xác.

Chức năng PHP: string so sánh

Arsenal ngôn ngữ chuỗi so - một tinh khiết, không chỉ là chức năng so sánh, mà còn là một sự kết hợp của một tìm kiếm hoặc thay thế trực tiếp. Phải lúc nào cũng hành động phải trùng với việc so sánh, vì sau này không nhất thiết dẫn đến một sự thay đổi trong bất kỳ hàng. Thường thì bạn phải chọn một hoặc các chi nhánh khác của thuật toán.

Bình thường biến PHP: thực hiện chuỗi so sánh chức năng int strcmp (s1, s2).

Kết quả của hàm:

  • 0 - dòng đều bình đẳng;
  • -1 - chuỗi đầu tiên là ít hơn so với thứ hai;
  • 1 - là người đầu tiên hơn hàng thứ hai.

Trên thực tế, điều này có nghĩa rằng một phần của dòng đầu tiên vào thứ hai, từ đó chức năng PHP (hàng chiếu) quyết định. Một phiên bản hạn chế hơn strpos (), bởi vì trong trường hợp thứ hai có thể biết vị trí của các mục nhập.

strcmp () chức năng - nhạy cảm. Nếu bạn muốn so sánh chuỗi không nhạy cảm, PHP cung cấp strcasecmp của nó (). Cú pháp là tương tự.

Trong thực tế thường được yêu cầu để làm việc chứ không phải với toàn bộ dòng, nhưng chỉ một phần của nó. Cho tập hợp các chức năng PHP (string so sánh) bao gồm strncmp (s1, s2, N). Tham số thứ ba xác định thực hiện việc so sánh chỉ N-byte. Kết quả là strcmp tương tự ().

Mảng, chuỗi và so sánh

Đây là hầu như luôn luôn thể hiện bằng chuỗi. Nếu chúng ta xem xét các mảng, các đối tượng, hoặc cấu trúc dữ liệu, nó chỉ là biến thể khác nhau của sự kết hợp của một cấu trúc chuỗi đơn giản.

mảng chuỗi và các hàng có thể được cung cấp một cách bổ sung. Chuyển đổi của mảng vào một hàm chuỗi implode (mảng, biểu tượng), ví dụ: $ margins1 = implode ( '', $ còn phong cách> getInnerMargin ()); ... thuật toán / user ...; $ Margins2 = implode ( '', $ còn phong cách> getInnerMargin ()) cho phép bạn kết hợp tất cả các vị trí đối tượng ở vị trí chuỗi.

Sau đó bạn có thể thực hiện các so sánh chuỗi PHP, và tại một thời điểm: $ check = strcmp ($ margins1, $ margins2) và chắc chắn rằng các thuật toán hay cho người dùng biết một cái gì đó đã thay đổi (hay không). Nếu bạn thực hiện một sự so sánh theo cách thông thường, bạn sẽ phải sắp xếp các phần tử mảng. Nó mất nhiều thời gian và phức tạp hơn.

Đối tượng và dòng

Thậm chí ngoạn mục hơn sử dụng PHP (so sánh chuỗi) có thể được thực hiện thông qua ý tưởng hướng đối tượng.

Ý tưởng hiện đại của cơ sở vật chất cho thấy rằng họ có các thuộc tính và phương pháp. Các cựu thường được thể hiện bằng con số, chuỗi, mảng, và các đối tượng khác. Sau này thường bao gồm các kỹ thuật ghi âm (đặt) trong dòng phục hồi và từ dòng (có được).

Không giống như các mảng, các đối tượng làm việc với tài sản của mình và tương tác với các đối tượng khác. Đối tượng "có thẩm quyền", trong đó thuộc tính của nó có giá trị thực sự cho các thuật toán của chương trình như một toàn thể.

Khoảnh khắc này cung cấp một nền tảng và cơ hội để ghi lại khi ghi một chuỗi chỉ thông tin cần thiết, và trong việc thu hồi dòng để khôi phục lại tất cả các đặc tính làm việc trong trạng thái mong muốn. Thông thường, ở bất kỳ đối tượng có thông tin quan trọng và làm việc (thời gian). Việc thực hiện ý tưởng này cho phép bạn tiết kiệm không chỉ bộ nhớ, dung lượng đĩa, bản ghi cơ sở dữ liệu, nhưng cũng làm cho nó có thể so sánh phương tiện các đường đơn giản và chính xác hơn.

Cú pháp và ngữ nghĩa

PHP được phát triển năng động, và chức năng của nó cả về chuỗi so sánh và không ngừng cải thiện về điều trị của họ. Tuy nhiên, không có gì ngăn cản một nhà phát triển để di chuyển trung tâm của trọng lực trong lĩnh vực ngữ nghĩa.

Chắc chắn, các chức năng là tốt, nhưng việc sử dụng nó có thể được chuyển giao trong ý nghĩa của các mã trong các đối tượng. Khi thuật toán được trình bày như một hệ thống tương tác giữa các đối tượng, có vẻ tốt hơn nhiều so với so sánh trình tự và hành động trong chuỗi trực tiếp, một phong cách cổ điển.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 vi.unansea.com. Theme powered by WordPress.