สร้าง php ฟังก์ชัน ค้นหาค่าในตัวแปร array อย่างง่าย
เขียนเมื่อ 12 ปีก่อน โดย Ninenik Narkdeesearch array ตัวแปร array php ค้นหาใน array ค้นหาค่า
คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ search array ตัวแปร array php ค้นหาใน array ค้นหาค่า
ไปที่
Copy
php ฟังก์ชัน ค้นหาค่าในตัวแปร array สามารถนำไปประยุกต์ในการค้นหา ข้อมูลในตัวแปร array ของ php
โค้ด และตัวอย่างการใช้งาน
<?php function search_array($pathen,$arr){ $arr_result=array(); if(count($arr)>0){ foreach($arr as $key=>$value){ if(preg_match("@".$pathen."@i",$value)){ $arr_result[$key]=$value; } } return $arr_result; } } ?>
โค้ด และตัวอย่างการใช้งาน
<?php $arr = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'yellow', 4 => 'ภาษาไทย'); echo "<pre>"; print_r(search_array("re",$arr)); echo "</pre>"; ?>
เพิ่มเติมเนื้อหา ครั้งที่ 1 วันที่ 17-05-2018
การค้นหาค่า จาก key ของ array วิธีการนี้จะใช้งานใน PHP 5.6 เป็นต้นไป
<?php // ข้อมูลตัวอย่าง array สำหรับทดสอบ $data_test = array( "object"=>array( "0"=>array( "id"=>1 ), "1"=>array( "message"=>array( "id"=>22 ) ) ) ); // ฟังก์ัช่นสำหรับค้นหา // https://stackoverflow.com/questions/3975585/search-for-a-key-in-an-array-recursively function recursiveFind(array $array, $needle) { $iterator = new RecursiveArrayIterator($array); $recursive = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST); $aHitList = array(); foreach ($recursive as $key => $value) { if ($key === $needle) { array_push($aHitList, $value); } } return $aHitList; } // ค้นหา key ของ array ที่เท่ากับ id $result_match = recursiveFind($data_test,"id"); // ทดสอบแสดงผลลัพธ์ print_r($result_match); ?>
ตัวอย่างผลลัพธ์
Array ( [0] => 1 [1] => 22 )
สมมติเราต้องการหา "id" key ทีอยู่ใน "message" key สามารถเขียน php ตรวจสอบเบื้องต้นได้ดังนี้
<?php $arr_message = recursiveFind($data_test,"message"); $message_id = NULL; if(count($arr_message)>0){ $message_id = $arr_message[0]['id']; echo $message_id; } ?>
กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ

URL สำหรับอ้างอิง
Top
Copy
ขอบคุณทุกการสนับสนุน
![]()