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)