Я работаю над функцией поиска поля из любой формы на основе текста метки. Я хотел бы вернуть различные атрибуты поля, чтобы я мог использовать их позже.
Первоначально мне просто нужно было значение поля, поэтому я использовал эту работу, чтобы вернуть значение поля на основе метки:
function itsg_get_value_by_label( $form, $entry, $label ) {
foreach ( $form['fields'] as $field ) {
$lead_key = $field->label;
if ( strToLower( $lead_key ) == strToLower( $label ) ) {
return $entry[ $field->id ];
}
}
return false;
}
Я получаю свое значение, устанавливая переменную и передавая метку поля, которую я ищу:
$mobile_phone = itsg_get_value_by_label( $form, $entry, "Mobile Phone" );
Позже, продолжая работать над своим решением, я обнаружил, что мне также нужно найти эти поля и вернуть идентификатор. Первоначально я написал ту же функцию и только что возвратил идентификатор, но я хотел бы сделать решение более эффективным, переписав функцию, чтобы она возвращала несколько атрибутов поля в массиве следующим образом:
function get_field_atts_by_label( $form, $entry, $label ) {
foreach ( $form['fields'] as $field ) {
$lead_key = $field->label;
if ( strToLower( $lead_key ) == strToLower( $label ) ) {
$field_atts = array(
'value' => $entry[ $field->id ],
'id' => $field->id,
);
return $field_atts;
}
}
return false;
}
Моя проблема сейчас в том, что я не совсем уверен, как извлечь определенные атрибуты из моей функции и установить их в переменную.