Computer >> Máy Tính >  >> Lập trình >> PHP

Tập lệnh PHP để lấy tất cả các khóa từ một mảng bắt đầu bằng một chuỗi nhất định

Phương pháp 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);
}

Phương pháp 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;
});

Phương pháp 3

Cách tiếp cận theo thủ tục -

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

Phương pháp 4

Một cách tiếp cận thủ tục sử dụng các đối tượng -

Ví dụ

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

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Array(test_val => 123
test_result => 789)