Frage

ich für eine effiziente Art und Weise suchen rief die Daten Ich möchte aus einem Array submission_info $ zu ziehen, so kann ich einfach meine Formularfelder automatisch füllen. Die Feldgrße ist etwa 120.

Ich mag die Feldnamen zu finden und den Inhalt zu extrahieren. In diesem Fall ist der Feldname loanOfficer und der Inhalt ist 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 
     ) 

Ich mag die Feldnamen zu finden und den Inhalt zu extrahieren. In diesem Fall ist der Feldname loanOfficer und der Inhalt ist John Doe .

War es hilfreich?

Lösung

Sie sind wahrscheinlich am besten aus über jeden Eintrag gehen und ein neues assoziatives Array aus ihm heraus zu schaffen.

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

Dann können Sie einfach die Formularfelder finden, indem Sie den Wert von $ newArray bekommen [ ]. Ansonsten wirst du jedes Mal für das richtige Feld zu suchen haben $ submission_info.

Andere Tipps

Nicht sicher, ob dies die optimale Lösung ist:

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
  }
}

Das nächste Mal: Fragen sind hilfreich für Sie und andere, wenn man sie verallgemeinern, so dass sie eine übergeordnete Thema abdecken, die Sie und vielleicht andere nicht verstehen. Scheinen, wie Sie einen Array verwenden könnten Auffrischungskurs ...

Ich gehe davon aus, dass PHP ist ein assoziatives Array (allgemein Wörterbuch oder Hashtable genannt). Die effizienteste Routine wäre einmal über das Feld laufen und die Felder in einem Wörterbuch auf den Feldnamen eingegeben setzen.

Dann statt, durch die Original-Array zu suchen, wenn Sie ein bestimmtes Feld (einen O (n)) Betrieb finden wollen. Sie haben gerade das Wörterbuch es durch den Namen des Feldes in O (1) (oder konstant) Betrieb abzurufen. Natürlich der erste Durchgang über das Feld, das Wörterbuch füllen würde O (n) sein, aber das ist ein Kosten einer Zeit, anstatt für jede Lookup, dass gleiche Strafe zahlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top