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

สคริปต์ PHP เพื่อรับคีย์ทั้งหมดจากอาร์เรย์ที่ขึ้นต้นด้วยสตริงบางตัว


วิธีที่ 1

$arr_main_array = array('test_val' => 123, 'other-value' => 456, 'test_result' => 789);
foreach($arr_main_array as $key => $value){
   $exp_key = explode('-', $key);
   if($exp_key[0] == 'test'){
      $arr_result[] = $value;
   }
}
if(isset($arr_result)){
   print_r($arr_result);
}

วิธีที่ 2

A functional approach
An array_filter_key type of function is taken, and applied to the array elements
$array = array_filter_key($array, function($key) {
   return strpos($key, 'foo-') === 0;
});

วิธีที่ 3

แนวทางขั้นตอน -

$val_1 = array();
foreach ($array as $key => $value) {
   if (strpos($key, 'foo-') === 0) {
      $val_1[$key] = $value;
   }
}

วิธีที่ 4

วิธีการตามขั้นตอนโดยใช้วัตถุ -

ตัวอย่าง

$i = new ArrayIterator($array);
$val_1 = array();
while ($i->valid()) {
   if (strpos($i->key(), 'foo-') === 0) {
      $val_1[$i->key()] = $i->current();
   }
   $i->next();
}

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

Array(test_val => 123
test_result => 789)