2013-02-01 22 views
1

我有一个关联数组。在这个数组中,一些键的前缀是“suf_”。我如何用这些后缀的键和值创建一个新的数组?见下文将数组转换为具有特定键的前缀“suf_”

Array 
(
[buildings_sum] => 
[accidental_damage] => 0 
[landslip_cover] => 0 
[loss_of_rent] => 
[loss_period] => 
[contents_sum] => 
[suf_household_contents_sum] => 
[damage_cover] => 0 
[suf_tobacco_stock_sum] => 
[stock_sum] => 
[suf_buisness_interruption] => gb 
[suf_buisness_interruption_indemnity] => 24 Months 
[suf_increased_cost] => vb 
[suf_increased_cost_indemnity] => 24 Months 
[employer_liability] => 0 
[liability_sum] => 2000000 
[property_owner_liability] => 1000000 
[goods_sum] => hvb 
[freezer_stock] => bv 
[money_night_safe] => vb 
[money_locked_safe] => bv 
[money_not_locked_safe] => cv 
[private_dwelling_money] => fcv 
[suf_change_machine_money] => cfv 
[suf_gaming_machine_money] => 0 
[personal_accident] => cfv 
[glass] => cv 
[book_debts] => cv 
[suf_cover_guest] => 0 
[terrorism_cover] => 0 
[legal_expenses_cover] => 0 
[loss_of_licence] => 0 
[risks_cover] => 0 
[voluntary_excess] => 250 
[compulsory_excess] => h 
) 
+0

请举例说明。你的数组是什么样的,新数组应该是什么样的? – hsan

+0

我认为你的意思是前缀。或者按键看起来像'somethingsuf_'? –

回答

1

使用foreach环和preg_match。下面以youd数据为例展示一个工作示例。

$data_array = array(); 
$data_array['stock_sum'] = ''; 
$data_array['suf_buisness_interruption'] = 'gb'; 
$data_array['suf_buisness_interruption_indemnity'] = '24 Months'; 
$data_array['suf_increased_cost'] = 'vb'; 
$data_array['suf_increased_cost_indemnity'] = '24 Months'; 
$data_array['employer_liability'] = 0; 
$data_array['liability_sum'] = 2000000; 
$data_array['property_owner_liability'] = 1000000; 
$data_array['goods_sum'] = 'hvb'; 
$data_array['freezer_stock'] = 'bv'; 
$data_array['money_night_safe'] = 'vb'; 
$data_array['money_locked_safe'] = 'bv'; 

$suf_array = array(); 

foreach ($data_array as $key => $value) { 
    if (preg_match('/^suf_/', $key)) { 
     $suf_array[$key] = $value; 
    } 
} 

echo '<pre>'; 
print_r($suf_array); 
echo '</pre>'; 
+0

谢谢。它正在工作。 – ripa

0

迭代的例子遍历数组,并得到所有那些具有关键中的suf_部分内容:

$new_array = array(); 

foreach ($array as $key => $value) { 
    if (substr($key, 0, 4) == 'suf_') { 
     $new_array[$key] = $value; 
    } 
} 

print_r($new_array); 
相关问题