Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP เรียกเมธอดของอ็อบเจกต์ในอาร์เรย์ด้วย array_map


ใน PHP รุ่น 5.3 เมธอดของอ็อบเจกต์ในอาร์เรย์สามารถเรียกได้ด้วยโค้ดด้านล่าง:

$props = array_map(function($obj){ return $obj->getProp(); }, $objs);

จะช้ากว่าลูป 'for' เนื่องจากเรียกฟังก์ชันสำหรับทุกองค์ประกอบ:

function map($obj) {    return $obj->getProperty(); } $props = array_map('map', $objs);

ทางเลือกสำหรับ PHP ก่อน 5.3 โค้ดด้านล่างสามารถใช้ได้:

function map($obj) {    return $obj-> getProperty (); } $props = array_map('map', $objs); }

ฟังก์ชัน getProperty จะถูกเรียกบนอ็อบเจกต์ทั้งหมดและคุณสมบัติเฉพาะจะแสดง ทางเลือกอื่น:

function encode_data($val){    if(is_array($val)){       return $val = array_map('encode_data', $val);    } else {       return utf8_encode($val);    } } $value = array_map('encode_data', $value); print_r($value);

ข้อมูล utf8 encoded ของ value จะแสดง