แน่นอนว่าการใช้array_map
และหากการใช้คอนเทนเนอร์ที่นำArrayAccess
ไปใช้กับวัตถุเป็นเพียงวิธีที่ชาญฉลาดและมีความหมายมากกว่านี้หรือไม่?
ความหมายของแผนที่อาร์เรย์มีความคล้ายคลึงกันในภาษาและการใช้งานส่วนใหญ่ที่ฉันเคยเห็น ได้รับการออกแบบมาเพื่อส่งคืนอาร์เรย์ที่แก้ไขตามองค์ประกอบอาร์เรย์อินพุต (ระดับสูงโดยไม่สนใจการกำหนดค่าประเภทการคอมไพล์ / รันไทม์) ลูปมีไว้เพื่อใช้ตรรกะมากขึ้น
สำหรับการดึงวัตถุโดย ID / PK ขึ้นอยู่กับว่าคุณกำลังใช้ SQL หรือไม่ (ดูเหมือนจะแนะนำ) ฉันจะใช้ตัวกรองเพื่อให้แน่ใจว่าฉันได้รับอาร์เรย์ของ PK ที่ถูกต้องจากนั้นระเบิดด้วยลูกน้ำและวางลงในส่วนIN()
คำสั่งSQL เพื่อ ส่งคืนผลลัพธ์ที่ตั้งไว้ ทำให้การโทรหนึ่งครั้งแทนที่จะเป็นหลาย ๆ ครั้งผ่านทาง SQL เพิ่มประสิทธิภาพบิตของcall->wait
วงจร สิ่งสำคัญที่สุดคือรหัสของฉันจะอ่านได้ดีสำหรับใครบางคนจากภาษาใด ๆ ที่มีระดับความสามารถและเราจะไม่ประสบปัญหาความไม่แน่นอน
<?php
$arr = [0,1,2,3,4];
$arr2 = array_map(function($value) { return is_int($value) ? $value*2 : $value; }, $arr);
var_dump($arr);
var_dump($arr2);
เทียบกับ
<?php
$arr = [0,1,2,3,4];
foreach($arr as $i => $item) {
$arr[$i] = is_int($item) ? $item * 2 : $item;
}
var_dump($arr);
หากคุณรู้ว่าคุณกำลังทำอะไรอยู่จะไม่มีปัญหาความไม่แน่นอน (โปรดคำนึงว่าหากคุณตั้งใจที่จะเขียนทับ$arr
คุณสามารถทำได้เสมอ$arr = array_map
และชัดเจน