如何有效地搜索数组以填写表单字段?

时间:2008-09-17 15:59:01

标签: php arrays

我正在寻找一种有效的方法从名为$ submission_info的数组中提取我想要的数据,这样我就可以轻松地自动填充表单字段。数组大小约为120。

我想找到字段名称并提取内容。在这种情况下,字段名称为 loanOfficer ,内容为 John Doe

Output of Print_r($submission_info[1]):

Array ( 
     [field_id] => 2399 
     [form_id] => 4 
     [field_name] => loanOfficer 
     [field_test_value] => ABCDEFGHIJKLMNOPQRSTUVWXYZ 
     [field_size] => medium 
     [field_type] => other 
     [data_type] => string 
     [field_title] => LoanOfficer 
     [col_name] => loanOfficer 
     [list_order] => 2 
     [admin_display] => yes 
     [is_sortable] => yes 
     [include_on_redirect] => yes 
     [option_orientation] => vertical 
     [file_upload_dir] => 
     [file_upload_url] => 
     [file_upload_max_size] => 1000000 
     [file_upload_types] => 
     [content] => John Doe 
     ) 

我想找到字段名称并提取内容。在这种情况下,字段名称为 loanOfficer ,内容为 John Doe

3 个答案:

答案 0 :(得分:2)

你可能最好通过每个条目并从中创建一个新的关联数组。

foreach($submission_info as $elem) {
    $newarray[$elem["field_name"]] = $elem["content"];
}

然后,您可以通过从$ newarray [<字段填写> ]中获取值来查找表单字段。否则,您每次都必须搜索$ submission_info以获取正确的字段。

答案 1 :(得分:1)

不确定这是否是最佳解决方案:

foreach($submission_info as $info){
  if($info['field_name'] == 'loanOfficer'){ //check the field name
    $content = $info['content']; //store the desired value
    continue; //this will stop the loop after the desired item is found
  }
}

下次: 如果您对问题进行概括,那么问题会对您和其他人更有帮助,因为它们涵盖了您和其他人可能无法理解的一些主题。好像你可以使用阵列进修课程......

答案 2 :(得分:0)

我假设php有一个关联数组(通常称为字典或哈希表)。最有效的例程是在阵列上运行一次并将字段放入键入字段名称的字典中。

然后,当您想要查找特定字段(O(n))操作时,不必搜索原始数组。您只是使用字典通过O(1)(或常量)操作中的字段名称来检索它。当然,首先通过数组来填充字典将是O(n),但这是一次性成本而不是为每次查找支付相同的惩罚。