คอมพิวเตอร์, การเขียนโปรแกรม
การปฏิบัติ PHP: การเปรียบเทียบสตริง
PHP มุ่งเน้นไปที่การจัดการข้อมูลที่ดี ไวยากรณ์ของภาษาที่เป็นตัวแทนชุดทำงานได้อย่างสมบูรณ์ของฟังก์ชั่นการเปรียบเทียบการประมวลผลสตริงดำเนินการเปรียบเทียบ
ขั้นตอนวิธีการใด ๆ - ลำดับของตัวเลือกและการกระทำ แต่ก่อนที่จะให้ทางเลือกที่คุณต้องการสิ่งที่จะเปรียบเทียบกับบางสิ่งบางอย่าง สาย - มีความจุมากที่สุดที่มีประสิทธิภาพและการปฏิบัติกลไกการควบคุมขั้นตอนวิธีการ Line - แตกต่างจากการนำเสนอข้อมูล ข้อมูล - นี้เป็นเรื่องหลักของ "การดูแล" ของขั้นตอนวิธีการใด ๆ
ตรรกะธรรมดา "การเปรียบเทียบการกระทำ"
โดยทั่วไปลิ้นพิมพ์แบบไดนามิกจะไม่แตกต่างกันในข้อมูลเช่นสายการเปรียบเทียบ PHP และจำนวนไม่แตกต่างกันมาก จำนวน - มันก็ยังเป็นสตริงเมื่อมันมีตัวเลขเท่านั้นจุดและมีไม่ได้เป็นตัวเดียวที่ไม่ได้ใช้เพื่อแสดงตัวเลขในรูปแบบ (สัญกรณ์คณิตศาสตร์) ใด ๆ
ถ้าจำนวน kontenkatsii ผสานโดยอัตโนมัติด้วยเส้นไม่มีคำถามที่ถามและไม่มีข้อผิดพลาดที่ซ่อนอยู่แม้ว่า GetType () ฟังก์ชันให้ 'จำนวนเต็ม' หรือ 'คู่'
แต่มีความแตกต่างระหว่างการใช้ is_int () และ is_numeric () เป็นครั้งแรกที่จะช่วยให้ความจริงเฉพาะเมื่อพารามิเตอร์เป็นจำนวนเต็มสองเมื่อหมายเลขใด ๆ หรือสตริงที่เป็นตัวเลข (ชนิดตัวแปรคือ 'สตริง' แต่ทั้งหมดประกอบด้วยสัญกรณ์คณิตศาสตร์ให้)
นี่คือตัวอย่างที่ง่าย - เป็นตัวอย่างที่ดีของวิธีการดำเนินการเปรียบเทียบสตริง PHP ( '==' '===' ... '='!) สามารถนำเสนอน่าประหลาดใจมาก ตัวแปรที่สามารถเปลี่ยนชนิดของพวกเขาจะไม่ได้เสมอตัวเลข แต่เกือบตลอดเวลาที่พวกเขาสามารถนำไปสู่เส้น ในกรณีที่รุนแรง - มันจะเป็นสตริงที่ว่างเปล่า
ตามข้างต้นเป็นฟังก์ชัน PHP เปรียบเทียบสตริงเป็นที่นิยมมากที่สุด อะไรกันแน่ที่จะเลือกในการตัดสินใจของนักพัฒนา จำนวนมากของตัวเลือกขึ้นอยู่กับการแสดงออกปกติ
ขอบเขตของการทำงานที่มีอยู่
PHP-เปรียบเทียบของสองแถวเป็นสิ่งที่ดี "ทำ" strpos () ฟังก์ชัน - ที่ถูกที่สุดที่ซื่อสัตย์และตัวเลือกการปฏิบัติ หาก ผลของ จำนวนฟังก์ชั่นแล้วอย่างหนึ่งสตริงเท่ากับอื่นหรือส่วนหนึ่งไปยังอีก
ตรงข้ามอย่างรุนแรง แต่ยังอย่างวิธีการที่เหมาะสม - การใช้งานของการแสดงออกปกติ
หากฟังก์ชั่น $ cResult = scCheckFileName ($ CSTR) ให้ 'ความจริง' จากนั้นสายเป็นชื่อของ vordovsky ไฟล์ เขาจะมีเพียงหนึ่งตัวเลือกของการขยายตัว '.docx และไม่มีตัวอักษรในชื่อ: ตัวอักษรตัวเลขและตัวอักษร '_', '-'
ฟังก์ชั่นที่สามารถแปลงได้อย่างง่ายดายเพื่อไฟล์ประเภทอื่น ๆ : $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u' ตัวแปรนี้ขยายช่วงการสแกนดาวน์โหลดบรรทัด (เช่นการเปรียบเทียบสตริง PHP ถูกนำไปใช้ "เพื่ออัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ที่มีโอกาสของความผิดพลาดการป้อนข้อมูลที่ไม่มี") สำหรับ HTML, js, CSS, ...
ใช้ strpos () และ preg_match () - สุดขั้ว พวกเขาจะไม่เกี่ยวข้องโดยตรงกับปัญหาของระยะเวลาการเปรียบเทียบ แต่คำถามของขั้นตอนวิธี - เป็นเรื่องของการใช้การรวมกันของรูปแบบการใช้งานของทุกโอกาสเพื่อให้บรรลุผลที่เชื่อถือได้และถูกต้อง
PHP หน้าที่: เปรียบเทียบสตริง
ภาษาอาร์เซนอลสตริงเทียบ - บริสุทธิ์ไม่เพียง แต่ฟังก์ชั่นการเปรียบเทียบ แต่ยังรวมกันของการค้นหาหรือแทนโดยตรง ไม่เคยทำหน้าที่ต้องตรงกับการเปรียบเทียบตั้งแต่หลังไม่จำเป็นต้องนำไปสู่การเปลี่ยนแปลงในแถวใด ๆ บ่อยครั้งที่คุณต้องเลือกอย่างใดอย่างหนึ่งหรือสาขาอื่น ๆ ของอัลกอริทึม
ปกติตัวแปร PHP: ประสิทธิภาพการทำงานการเปรียบเทียบสตริง int strcmp (S1, S2)
ผลของการทำงาน:
- 0 - บรรทัดมีค่าเท่ากัน;
- -1 - สายแรกน้อยกว่าสอง;
- 1 - ครั้งแรกมากกว่าแถวที่สอง
ในทางปฏิบัตินี้หมายความว่าส่วนหนึ่งของแถวแรกที่สองจากการที่ฟังก์ชัน PHP (แถวเปรียบเทียบ) ตัดสินใจ รุ่นที่ จำกัด มากขึ้นของ strpos () เพราะในกรณีหลังนี้ก็เป็นไปได้ที่จะรู้ตำแหน่งของรายการ
strcmp () ฟังก์ชั่น - มีความละเอียดอ่อน หากคุณต้องการเปรียบเทียบสตริงตาย, PHP มี strcasecmp มัน () ไวยากรณ์ที่คล้ายกัน
ในทางปฏิบัติมักจะต้องทำงานไม่ได้อยู่กับสายทั้งหมด แต่เพียงส่วนหนึ่งของมัน สำหรับชุดของฟังก์ชั่นนี้ PHP (เปรียบเทียบสตริง) รวม strncmp (S1, S2 N) พารามิเตอร์ที่สามระบุดำเนินการเปรียบเทียบเท่านั้น N-ไบต์ ผลที่ได้คือ strcmp คล้ายกัน ()
อาร์เรย์สตริงและเปรียบเทียบ
เหล่านี้จะแสดงเกือบเสมอโดยสตริง ถ้าเราพิจารณาอาร์เรย์วัตถุหรือโครงสร้างข้อมูลเป็นเพียงสายพันธุ์ที่แตกต่างกันของการรวมกันของโครงสร้างที่เรียบง่ายสตริง
อาร์เรย์สตริงและแถวสามารถให้บริการในลักษณะที่เกื้อกูล การเปลี่ยนแปลงของอาร์เรย์เป็นฟังก์ชั่นระเบิดสตริง (อาร์เรย์สัญลักษณ์) ตัวอย่างเช่น: $ margins1 = ระเบิด ( '', $ style-> getInnerMargin ()); ... อัลกอริทึม / ผู้ใช้ ... ; $ Margins2 = ระเบิด ( '', $ style-> getInnerMargin ()) ช่วยให้คุณสามารถผสานทุกตำแหน่งวัตถุในตำแหน่งสตริง
จากนั้นคุณสามารถดำเนินการเปรียบเทียบสตริง PHP, และในเวลา: $ = เช็ค strcmp ($ margins1, $ margins2) และให้แน่ใจว่าขั้นตอนวิธีการหรือผู้ใช้ที่มีการเปลี่ยนแปลงบางสิ่งบางอย่าง (หรือไม่) หากคุณดำเนินการเปรียบเทียบในทางปกติคุณจะต้องจัดเรียงองค์ประกอบมากมาย มันต้องใช้เวลานานและมีความซับซ้อนมากขึ้น
วัตถุและสาย
งดงามมากยิ่งขึ้นใช้ PHP (เปรียบเทียบสตริง) สามารถดำเนินการผ่านทางความคิดเชิงวัตถุ
ความคิดที่ทันสมัยของสิ่งอำนวยความสะดวกที่แสดงให้เห็นว่าพวกเขามีคุณสมบัติและวิธีการ อดีตมักจะแทนด้วยตัวเลขสตริงอาร์เรย์และวัตถุอื่น ๆ หลังมักจะรวมถึงเทคนิคการบันทึก (ใส่) ในสายการกู้คืนและจากบรรทัด (ได้รับ)
ซึ่งแตกต่างจากอาร์เรย์วัตถุที่จะทำงานที่มีคุณสมบัติของตัวเองและมีปฏิสัมพันธ์กับวัตถุอื่น ๆ วัตถุ "อำนาจ" ซึ่งคุณสมบัติของมีค่าที่แท้จริงสำหรับอัลกอริทึมของโปรแกรมที่เป็นทั้ง
ขณะนี้มีพื้นฐานและโอกาสที่จะบันทึกเมื่อมีการบันทึกสตริงเฉพาะข้อมูลที่จำเป็นและในการกู้คืนของเส้นที่จะเรียกคืนทุกคุณสมบัติการทำงานในรัฐที่ต้องการ โดยปกติแล้วในวัตถุใด ๆ ที่มีข้อมูลที่สำคัญและการทำงาน (เวลา) การดำเนินการของความคิดนี้ช่วยให้คุณสามารถบันทึกความทรงจำที่ไม่เพียง แต่พื้นที่ดิสก์บันทึกฐานข้อมูล แต่ยังทำให้มันเป็นไปได้ที่จะเปรียบเทียบหมายถึงเส้นที่เรียบง่ายและถูกต้องมากขึ้น
ไวยากรณ์และความหมาย
PHP มีการพัฒนาแบบไดนามิกและการทำงานทั้งในแง่ของการเปรียบเทียบสตริงของตนอย่างต่อเนื่องและดีขึ้นในแง่ของการรักษาของพวกเขา แต่ไม่มีอะไรป้องกันไม่ให้นักพัฒนาที่จะย้ายศูนย์กลางของแรงโน้มถ่วงในพื้นที่ของความหมาย
ไม่ต้องสงสัย, การทำงานเป็นสิ่งที่ดี แต่การใช้งานที่สามารถโอนได้ในความหมายของรหัสในวัตถุ เมื่อขั้นตอนวิธีจะนำเสนอเป็นระบบของการปฏิสัมพันธ์ระหว่างวัตถุมันก็ดูดีกว่าการเปรียบเทียบลำดับและการดำเนินการในลำดับโดยตรงสไตล์คลาสสิก
Similar articles
Trending Now