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

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

 

 

 

 

Newest

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