Reputation: 57
I have two arrays:
$generated_errors = array(
'required' => 'fieldname',
'min' => 'fieldname',
'max' => 'fieldname');
$all_errors = array(
'required' => ' is required',
'min' => ' must be at least 6 character',
'max' => ' must be at maximum 20 character',
'onlynumber' => ' must be only numbers',
'email' => ' must be valid email');
I want to 1 array (according to $generated_errors
) from both of them as:
$errors = array(
'required' => 'Field name is required',
'min' => 'Field name must be at least 6 character',
'max' => 'Field name must be maximum 20 character');
Upvotes: 2
Views: 63
Reputation: 9173
It is better to do some like this:
$result = array();
array_walk($generated_errors, function($item, $value) use(&$all_errors, &$result){
array_push($result, [$key => ($generated_errors[$key] . $all_errors[$key])]);
});
I haven't tested the above code, but I think it works. I guess it's faster than the for loop
. Because in for loop
there are a lot of deductions which reduce the speed (though not very much).
Upvotes: 0
Reputation: 4422
you should do like this
$errors =array();
for ($generated_erros as $key => $value) {
$errors[$key] = $value . $all_errors[$key];
}
Upvotes: 0
Reputation: 311188
You could iterate over $generated_errors
and enrich it with $all_errors
values:
for ($generated_erros as $key => $value) {
$erros[$key] = $value . $all_errors[$key];
}
Upvotes: 1