คอมพิวเตอร์การเขียนโปรแกรม

การปฏิบัติ 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

 

 

 

 

Newest

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