คอมพิวเตอร์, การเขียนโปรแกรม
PHP: อาร์เรย์ในอาร์เรย์ ค้นหาในอาร์เรย์ PHP
การเขียนโปรแกรม - เป็นไวยากรณ์และความหมาย เป็นครั้งแรกที่จะถูกกำหนดโดยกฎของภาษาและสอง - ประสบการณ์ของนักพัฒนา ด้วยความเคารพต่ออาร์เรย์นักพัฒนาสามารถโหลดไวยากรณ์เรื่องความหมาย มันไม่ได้เป็นวัตถุ แต่ไม่ได้อยู่ในความรู้สึกแบบดั้งเดิมของอาร์เรย์ PHP ช่วยให้คุณสร้างอาร์เรย์ของตัวแปรที่แตกต่างกันรวมทั้งตัวเอง องค์ประกอบอาร์เรย์อาจจะมีฟังก์ชั่นก็เป็นไปได้ที่จะโหลดอาร์เรย์ของอัลกอริทึมจริง, ความหมายที่แท้จริง
ไวยากรณ์มีเสถียรภาพ แต่แตกต่างจากรุ่นกับรุ่นและอาจไม่สามารถเข้ากันได้แม้จะมาจากด้านล่างขึ้น พกพาของโปรแกรม - ความสำเร็จลืมกันดีของศตวรรษที่ผ่านมา ความหมายคือการพัฒนาและสามารถนำมาใช้ไม่เพียง แต่จะรุ่นใด ๆ ของภาษาใด ๆ ; มันได้กลายเป็นประเพณีที่จะใช้ไวยากรณ์ที่จะแสดงความจริงที่ว่ากฎของภาษาที่มีให้แม้ไม่ได้ ตัวอย่างนี้อาร์เรย์สามารถเข้าใจได้ง่ายที่สุด
ชุดก่อสร้าง
อาร์เรย์ใน PHP เป็นไวยากรณ์ที่สะดวกสบายและฟังก์ชั่น นี้ ประเภทของข้อมูลที่ สามารถอธิบายในล่วงหน้า แต่ก็มักจะสะดวกในการสร้างอาร์เรย์ได้ทันทีตามความจำเป็น
ประชาชน $ aNone = array (); // อาร์เรย์มีการอธิบายและมีอะไร
ประชาชน $ aFact = array ( 'อะโวคาโด' "พีช", "เชอร์รี่"); // อาร์เรย์ของสามองค์ประกอบนี้
สร้างอาร์เรย์ของกระบวนการตรวจสอบเงื่อนไขใด ๆ :
$ CSrcLine = 'สตริงวิเคราะห์ข้อมูล';
สำหรับ ($ i = 0; $ i <13; $ i ++) {
$ CUserLine = inputUserLine (); // การป้อนข้อมูลบางสิ่งบางอย่าง
ถ้า (checkFunc ($ cSrcLine, $ cUserLine) {
$ AResult [] = 'ใช่'; // เพิ่ม PHP อาเรย์
} else {
$ AResult [] = 'ไม่';
}
}
อันเป็นผลมาจากการดำเนินการของตัวอย่างนี้จะสร้างอาร์เรย์ของ 13 องค์ประกอบที่มีค่าเป็นเพียง 'ใช่' หรือ 'ไม่' สาย องค์ประกอบที่จะมีการจัดทำดัชนีจาก 0 ถึง 12 ผลเดียวกันสามารถรับได้โดยที่บันทึกไว้ล่วงหน้า "อนาคต" PHP อาร์เรย์สตริง:
$ CFutureArray = '';
สำหรับ ($ i = 0; $ i <13; $ i ++) {
$ CUserLine = inputUserLine (); // สิ่งที่ป้อนข้อมูล
ถ้า ($ i> 0) {$ cFutureArray = '|' .; }
ถ้า (checkFunc ($ cSrcLine, $ cUserLine) {$ cFutureArray = 'ใช่' .;
} else {$ cFutureArray = 'ไม่' .; }
}
$ AResult = ระเบิด ( '|', $ cFutureArray);
อาร์เรย์หลายมิติ
หลายระบบการจัดการเนื้อหา (SMS) ใช้อาร์เรย์ "ในระดับแกรนด์." ในมือข้างหนึ่งก็จะดีปฏิบัติในที่อื่น ๆ มือมันเป็นเรื่องยากที่จะนำไปใช้. แม้ว่าผู้เขียนคือหลักคำสอนที่ชัดเจน "PHP อาร์เรย์ในอาร์เรย์" จากนั้นก็ไม่ควรที่จะถูกทำร้ายไม่เพียง แต่นักพัฒนาจะต้องรับใช้สัญกรณ์ที่ซับซ้อน บ่อยครั้งหลังจากที่ในขณะผู้เขียนเองพระทัยยาวโปรดจำไว้ว่าสิ่งที่ผมเขียนครั้งแรก:
กลับอาร์เรย์ (
'View_manager' => array (41, 'template_path_stack' => array (__DIR__. /../view ')
'Router' => array ( 'เส้นทาง' => array (=> อาร์เรย์ 'sayHello' (
'พิมพ์' => 'Zend \ Mvc \ Router \ Http \ ตัวอักษร'
'ตัวเลือก' => array ( 'เส้นทาง' => '/ sayHello', 'ค่าเริ่มต้น' => array (
'ควบคุม' => 'HelloWorld \ ควบคุม \ ดัชนี', 'การกระทำ' => 'ดัชนี')))))
'ควบคุม' => array (= 'invokables'> array (
'HelloWorld \ ควบคุม \ ดัชนี' => 'HelloWorld \ ควบคุม \ IndexController'))
);
นี่คือการปฏิบัติตัวอย่าง« PHP อาร์เรย์ในอาร์เรย์" ของ ZF 2. ไม่สร้างแรงบันดาลใจมากเกินไปในตอนแรก แต่ก็ทำงานได้และบางทีอาจจะทำให้กรอบการทำงานที่ประสบความสำเร็จ (เช่นจากโมดูล ZendSkeletonApplication / โมดูล / HelloWorld / config / module.config.php)
อาร์เรย์ - โครงสร้างข้อมูลที่สำคัญในระหว่างการออกแบบและพัฒนา รุ่นหลายมิติของเขาเป็นที่นิยมอีกครั้ง แต่เมื่อเวลาผ่านไปยังคงมีความจำเป็นในการอาร์เรย์ถึงสองหรือสามมิติ มันเป็นเรื่องง่ายและใช้งานง่ายมากขึ้น แต่ในแง่ของความเป็นมืออาชีพเมื่อสิ่งที่เริ่มต้นคูณเพื่อให้บางสิ่งบางอย่างในการกำหนดปัญหาหรือรหัสไม่ได้เป็นกรณี
ง่ายสามารถเข้าถึงและเข้าใจ
สร้างในอาร์เรย์ PHP ในอาร์เรย์ที่ดีที่สุดคือการถูก จำกัด ให้สองหรือสามระดับ แม้จะมีความมั่นคงและความน่าเชื่อถือของ PHP ทำให้ข้อผิดพลาดในการประมวลผลของไวยากรณ์ ด้วยวิธีนี้คุณสามารถทนต่อการมีแก้ไขรหัสดีคุ้นเคยกับการได้อย่างถูกต้องนับวงเล็บและจุลภาค อย่างไรก็ตาม PHP ไม่ควบคุมประเภทของข้อมูล (นี้เป็นกรรมการเขียนโปรแกรมที่ทันสมัย) และช่วยให้นักพัฒนาที่จะปฏิบัติข้อผิดพลาดความหมาย
สิทธิในการควบคุมประเภทของตัวแปรหรือความคิดของตัวเองความหมายการเปลี่ยนแปลงในไวยากรณ์ - มักจะหรูหรา สคริปต์อัตราการสูญเสียนี้รหัสอ่านง่าย ... เพราะความสะดวกในการเข้ารหัสอยู่เสมอที่สำคัญ
PHP มีคุณลักษณะเชิงลบอย่างมีนัยสำคัญ: สคริปต์เพียงแฮงค์ในกรณีที่มีความไม่แน่นอน ไม่ได้แก้จุดบกพร่องทั้งหมดรับมือกับเหตุการณ์ที่ไม่คาดฝันและขึ้นอยู่กับประสบการณ์และสัญชาตญาณของนักพัฒนา ขั้นตอนวิธีการที่ง่ายกว่าโครงสร้างข้อมูลเข้าถึงได้มากขึ้นมีโอกาสมากขึ้นที่จะหาข้อผิดพลาดหรือไม่อนุญาต
ลักษณะเมื่ออาร์เรย์ตัวเลือกแรกของข้อมูลที่ถูกนำเสนอในรูปแบบโครงสร้าง - ความพยายามที่เงอะงะเพื่อสร้างสิ่งที่ออกมาจากความแตกต่างของข้อมูล ครั้งแรกที่รอดชีวิตและได้รับไวยากรณ์ใหม่ที่มีประสิทธิภาพที่สองลงไปในประวัติศาสตร์
อาร์เรย์ที่เรียบง่ายและเชื่อมโยง
บันทึกอาร์เรย์สองมิติ - เป็นคู่ของวงเล็บอีก "[" และ "]" ตัวอย่างเช่น: $ aSrcData [1] [2] หมายถึงการเข้าถึงให้กับรายการ [2] ของอาร์เรย์ [1], การป้อนข้อมูลไปยังอาร์เรย์ $ aSrcData ใน PHP มีความต้องการที่จะประกาศล่วงหน้าข้อมูลไม่มี lyuboyu ที่ระบุข้อมูลให้ตรวจสอบตลอดสำหรับการดำรงอยู่.
ได้อย่างมีประสิทธิภาพมากในการสร้างสิ่งเฉพาะเมื่อมันเป็นสิ่งจำเป็นในรูปแบบที่มันเป็นสิ่งจำเป็นและทำลายเมื่อมันไม่จำเป็นอีกต่อไป ใช้เป็นคีย์ (ดัชนี) ชื่อที่มีความหมายอาจจะจัดโครงสร้างที่อ่านได้มีความหมายในบริบทของสถานที่ตั้งในปัจจุบันในขั้นตอนวิธี:
$ AAnketa [ 'ชื่อ'] = 'Ivanov';
$ AAnketa [ 'อายุ'] = 42;
$ AAnketa [ 'ทำงาน'] = 'กรรมการ';
$ AAnketa [ 'ใช้งาน'] = true;
$ ATable [] = $ aAnketa;
$ AAnketa [ 'ชื่อ'] = 'เปตรอฟ';
$ AAnketa [ 'อายุ'] = 34;
$ AAnketa [ 'ทำงาน'] = 'ผู้จัดการ';
$ AAnketa [ 'ใช้งาน'] = true;
$ ATable [] = $ aAnketa;
$ AAnketa [ 'ชื่อ'] = 'Afanasiev';
$ AAnketa [ 'อายุ'] = 28;
$ AAnketa [ 'ทำงาน'] = 'ทำงาน';
$ AAnketa [ 'ใช้งาน'] = false;
$ ATable [] = $ aAnketa;
$ Sone = ระเบิด. ( ";", $ ATable [1]) '
'; // สอง PHP อาร์เรย์สตริง
. $ = $ Sone ATable [1] [ 'งาน']; // การเรียกร้องให้องค์ประกอบหนึ่งของอาร์เรย์ที่สอง
ผลที่ตามมาของตัวอย่างนี้ (แถวแรก - คีย์ปกติในนั้นเริ่มต้นด้วย 0, อาร์เรย์ที่สอง - เชื่อมโยงมีสี่ปุ่ม: 'ชื่อ', 'อายุ' 'งาน', 'ใช้งาน'):
$ Sone = 'เปตรอฟ; 34; ผู้จัดการ; 1
ผู้จัดการ ';
ในตัวอย่างง่ายๆนี้หนึ่งสามารถดูวิธีการรายละเอียดที่จัดตั้งขึ้นอาจจะนำไปใช้กับพนักงานทุกคน คุณสามารถสร้างอาร์เรย์ของพนักงานที่มีดัชนีของตัวเลขบุคลากรและถ้าจำเป็นต้องเป็นพนักงานโดยเฉพาะอย่างยิ่งจากนั้นเลือกกับจำนวนบุคลากร
หากองค์กรของคุณมีหน่วยงานหรือมีการทำงานตามฤดูกาลหรือถ้าคุณต้องการที่จะจัดสรรแยกการทำงานบำนาญ ... การออกแบบ "PHP อาร์เรย์ในอาร์เรย์" สะดวกมาก แต่คุณไม่ควรมีส่วนร่วมในมิติ สองหรือสามมิติ - ขีด จำกัด สำหรับโซลูชั่นที่มีประสิทธิภาพ
คีย์สำหรับการทำงานกับอาร์เรย์
หากที่สำคัญก่อนว่าสิ่งที่ทำงานในปีที่ผ่านมาประเพณีของยุคไบนารีเมื่อโปรแกรมเมอร์อยากจะรู้ว่าวิธีการที่องค์ประกอบอาร์เรย์จะถูกเก็บไว้และมีความประสงค์ที่จะมีพวกเขาสามารถเข้าถึงโดยตรงลืมสนิท มีจำนวนมากของการเข้ารหัสตัวอักษรซึ่งครอบครองในหน่วยความจำก็ไม่ได้เป็นหนึ่งไบต์ คำว่า "บิต" คือตอนนี้ไปได้ที่จะตอบสนองความต้องการเฉพาะในการดำเนินงานบิตค้นหา แต่การค้นหาในอาร์เรย์ PHP - เป็นปัญหาที่แยกต่างหาก การเข้าถึงองค์ประกอบได้ง่ายและเชื่อมโยง ในกรณีที่อดีตองค์ประกอบอาร์เรย์ (มีใด ๆ ของชนิดที่มีอยู่ PHP) มีเลข 0, 1, 2, ... ในกรณีที่สองโปรแกรมเมอร์ระบุดัชนีของตัวเองมักจะเรียกว่าเป็น "กุญแจสำคัญ" เพื่อเข้าถึงค่าที่ต้องการ
$ ALINE [ "ผลไม้"] = "สีส้ม"; // นี่ PHP คีย์อาร์เรย์ = "ผลไม้"
หรือ (ทุกอย่างถูกต้องและสอดคล้องกับการเข้ารหัสหน้ารหัส):
$ Aline [iconv ( 'UTF-8', 'CP1251' "ผลไม้")] = iconv ( 'UTF-8', 'CP1251' "สีส้ม");
เมื่อคุณเพิ่มไปยังอาร์เรย์ $ ALINE ใหม่คุ้มค่า:
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'พีช');
$ Aline [iconv ( 'UTF-8', 'CP1251' "ผัก")] = iconv ( 'UTF-8', 'CP1251' "แตงกวา");
$ Aline [] = iconv ( 'UTF-8', 'CP1251', 'มะเขือ');
เป็นผลมาจากวง:
foreach ($ Aline เป็น $ CK => $ พันธุ์) {
$ กรวย. = $ Ck '=' $ Cv '
';
}
มันจะได้รับโดย:
ผลไม้สีส้ม =
0 = พีช
= แตงกวาผัก
1 = มะเขือ
PHP คีย์อาร์เรย์เมื่อมีการเพิ่มรายการ 'พีช' และ 'มะเขือ' ที่เกิดขึ้นตามลำดับจาก 0 และเมื่อการระบุค่าของมันจะเท่ากับค่านี้
การลบองค์ประกอบจากอาร์เรย์
วิธีที่ง่ายที่สุดในการลบองค์ประกอบ PHP อาเรย์ในระหว่างการประมวลผล ในกรณีนี้เช่นเป็นผลมาจากวงจรการดำเนินการอาร์เรย์แหล่งที่มีการดูและรูปแบบใหม่ซึ่งเป็นเพียงองค์ประกอบที่ไม่จำเป็นจะไม่ถูกบันทึก
คุณสามารถทำได้ง่ายขึ้น ถ้าตัวอย่างสุดท้ายที่จะใช้:
ไม่มีการตั้งค่า ($ Aline [0]); // ลบอาร์เรย์ PHP องค์ประกอบ
ผลที่จะได้รับ:
ผลไม้สีส้ม =
= แตงกวาผัก
1 = มะเขือ
ตัวเลือกสำหรับการจัดการองค์ประกอบอาร์เรย์สามารถสร้างชุด ตัวอย่างเช่นการใช้ฟังก์ชั่น: ระเบิด () และระเบิด (), สามารถเขียนได้ในอาร์เรย์ PHP แถวกับหนึ่ง divider, ถอดและกลับเข้ามาในอาร์เรย์อื่น - โดยคั่นอีก
เพียงแค่เอาอาร์เรย์ PHP เป็นทั้งเพียงแค่เขียน: ล้าง ($ Aline);
พอแล้ว
ค้นหาในอาร์เรย์
PHP มีฟังก์ชั่นพิเศษค้นหา array_keys () array_values () array_key_exists () และ in_array () แต่ก่อนที่คุณจะตัดสินใจที่จะใช้พวกเขาควรพิจารณาความเป็นไปได้ในการค้นหาอาร์เรย์ PHP บนของตัวเอง
โครงการทุกคนมีโดยเฉพาะอย่างยิ่ง ในพื้นที่เรื่อง อาร์เรย์ที่ออกแบบมาโดยเฉพาะอย่างยิ่งเมื่อเป็นส่วนหนึ่งของความหมายย้ายไปไวยากรณ์และตัวแทนจากชุดของคีย์ที่มีความหมายที่เฉพาะเจาะจงมาก จะช่วยให้คุณสามารถดำเนินการฟังก์ชันการค้นหาของคุณเองซึ่งยังสามารถอธิบายความหมาย
ใน PHP คุณสามารถเรียกฟังก์ชั่นชื่อซึ่งจะถูกกำหนดในระหว่างการทำงานของโปรแกรม เป็นตัวอย่างในทางปฏิบัติมากของห้องสมุด PHPWord ที่ช่วยให้คุณอ่านและเขียนเอกสาร MS Word:
$ Elements = array ( 'ข้อความ', 'Inline', 'TextRun', 'เชื่อมโยง', 'PreserveText', 'TextBreak'
'ListItem', 'ListItemRun', 'ตาราง', 'ภาพ', 'วัตถุ', 'เชิงอรรถ'
'Endnote', 'กล่องกา', 'กล่อง', 'ฟิลด์', 'สาย');
ฟังก์ชั่น $ = array ();
สำหรับ ($ i = 0; $ i <นับ ($ องค์ประกอบ); $ i ++) {
$ ฟังก์ชั่น [$ i] = 'เพิ่ม' $ องค์ประกอบ [$ i];
}
เป็นผลให้อาร์เรย์ของฟังก์ชั่นได้รับ $ $ ค่าองค์ประกอบมากมายที่เป็นชื่อของฟังก์ชั่นที่เกิดขึ้นจริงที่ปฏิบัติงานที่มีองค์ประกอบที่แท้จริงของเอกสาร
เรียกร้องให้มีองค์ประกอบ $ [4] ฟังก์ชั่น $ ฟังก์ชั่น [4], คุณจะได้รับการค้นหาที่สมบูรณ์แบบและได้ผลอย่างรวดเร็ว
เรียงลำดับรายการ
งานของการจัดเรียงข้อมูลเป็นสิ่งที่สำคัญและ PHP ให้ฟังก์ชั่นหลายประการนี้: การจัดเรียง () rsort () asort () ksort () ... จากน้อยไปมากจากมากไปน้อยและองค์ประกอบของหลังสองหน้าที่รักษาความสัมพันธ์ระหว่างคีย์และค่า บางครั้งก็ทำให้รู้สึกถึงการผสมค่าของอาร์เรย์ที่สุ่ม - สับเปลี่ยน ()
ฟังก์ชั่นการใช้ PHP ในการจัดเรียง, เราไม่ควรลืมว่าสมาชิกอาจจะมีไม่เพียง แต่เป็นชนิดที่แตกต่างกัน แต่เนื้อหาไม่ได้เป็นธรรมชาติมากทีเดียว สิ่งแรกที่จะต้องระมัดระวังเกี่ยวกับการเรียงลำดับสตริงที่มีตัวอักษรรัสเซียวันที่เรียงลำดับและตัวเลขที่เขียนในรูปแบบที่แตกต่างกัน
วิธีที่ดีที่สุดที่จะเขียนทางออกที่ดีของคุณเองอย่างน้อยในขั้นตอนของการทดสอบสคริปต์ - เป็นคู่มือการเรียงลำดับ มันจะช่วยให้ภาระผูกพัน
อาร์เรย์สตริง
ด้วยคุณสมบัติระเบิด () และระเบิด () อาร์เรย์สามารถเปลี่ยนได้อย่างง่ายดายในสตริงและได้รับกลับมา จะช่วยให้คุณในการจัดเก็บข้อมูลในขนาดกะทัดรัดเป็นตัวแทนและปรับใช้พวกเขาในความสะดวกสบายของรัฐตามความจำเป็น.
อาร์เรย์หันหน้าไปในสายเปิดขึ้นเป็นไปได้ใหม่ ยกตัวอย่างเช่นงานของการค้นหาคำหลักในข้อความที่กำหนดให้พบก็ไม่ได้เพิ่มอีกครั้ง
$ CSrcLine = 'ข้อความข้อความ ListItemRun ช่อง ListItem ช่องตรวจสอบกล่องกล่องกาช่องเชิงอรรถ';
$ ASrc = ระเบิด ( '', $ cSrcLine);
$ CDstLine = '';
สำหรับ ($ i = 0; $ i <นับ ($ aSrc); $ i ++) {
$ CFind = '[' $ ASrc [$ i] ']';
ถ้า (! is_integer (strpos ($ cDstLine, $ cFind))) {
. $ = $ CDstLine cFind;
}
}
$ ADst = ระเบิด ( '] [', $ cDstLine);
$ กรวย = ระเบิด ( ';', $ aDst);
เป็นผลให้ตัวแปร $ CONE ได้รับเพียงค่าจากเส้นเดิมที่พบมีครั้งเดียว: "ข้อความ; ListItemRun; ช่อง; ListItem; ตรวจสอบ; กล่อง; กล่องกาเครื่องหมาย; เชิงอรรถ"
ภาษารัสเซียในคีย์และค่า
มันจะไม่แนะนำให้ใช้สิ่งที่มีการเชื่อมต่อกับชุดตัวอักษรของชาติในการก่อสร้างประโยค รัสเซียภาษาเช่นเดียวกับภาษาอื่น ๆ ตัวละครที่อยู่นอกเหนือ az, จะไม่สร้างปัญหาความเป็นอยู่ในฐานข้อมูล แต่ไม่ได้อยู่ในรหัสไวยากรณ์. แม้บางครั้งเป็นงานที่ง่ายสำหรับ PHP «นำอาร์เรย์ของเครื่องพิมพ์หรือบนหน้าจอ" จะนำไปสู่การ 'พูดพล่อยๆ' และมักจะหยุดเพียงแค่สคริปต์
PHP - ภาษาซื่อสัตย์และอดทนของตัวละครของประเทศ แต่มีหลาย ๆ สถานการณ์ที่ปริมาณของงานที่ดำเนินการได้จะทำอย่างไรอีกครั้งเพียงเพราะในสถานที่ที่เหมาะสมในเวลาที่เหมาะสมจะปรากฏขึ้นที่สำคัญระบุว่าจะเป็นไปไม่ได้
ไวยากรณ์ PHP และสภาพแวดล้อมภาษา
โปรดทราบว่าไวยากรณ์ PHP - หนึ่งนี้ แต่การออกแบบของรูปแบบนี้ "จัดการ" กับโปรแกรมอื่น ๆ ระบบปฏิบัติการที่มีตัวเลือกฮาร์ดแวร์ มีหลายทางเลือกที่จะให้ทุกคนจะไม่เคยเป็นไปได้ที่มี
กฎ "ในรหัสที่มีเพียงรหัสและที่ทางเข้าด้านในและด้านที่การส่งออกมีข้อมูลใด ๆ" จะช่วยหลีกเลี่ยงความผิดที่ไม่คาดคิด PHP-ค่าในอาร์เรย์สามารถ "รัสเซีย" แต่ที่สำคัญในการที่จะต้องไวยากรณ์ที่ถูกต้องไม่เพียง แต่จากมุมมองของภาษา แต่ยังอยู่ในแง่ของสภาพแวดล้อมการทำงาน.
Similar articles
Trending Now