PHP Ionic Angular HTML5 AJAX Javascript CSS MySQL jQuery Forum


สร้าง php ฟังก์ชัน ค้นหาค่าในตัวแปร array อย่างง่าย

22 October 2010 By Ninenik Narkdee
ตัวแปร array ค้นหาค่า search array ค้นหาใน array php

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ ตัวแปร array ค้นหาค่า search array ค้นหาใน array php



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;
}
?>






Tags:: ค้นหาค่า ค้นหาใน array search array ตัวแปร array php






อย่าลืมกด Like กด Share เป็นกำลังใจ ในการสร้างบทความใหม่ๆ น่ะครับ


URL สำหรับอ้างอิง