Мне не удается заменить какое-либо значение в одном массиве до или внутри foreach l oop. Это для new_Order_Email @ Woocommerce.
Я пытался сделать это с помощью array_walk_recursive.
function replacer(&$item, $key)
{
if ($item['label'] == 'maatWerkBreedteCalc') {
$item = str_replace("maatWerkBreedteCalc", "Maatwerk Breedte milimeters", $item);
}
}
array_walk_recursive($items, 'replacer');
Перед foreach: foreach ($ items как $ item_id => & $ item) : и после $ items = $ order-> get_items ();.
я попробовал str_replace внутри foreach l oop:
$item = str_replace('maatWerkBreedteCalc', 'Maatwerk Breedte MM', $item);
Я попытался установить его вручную в значения массива:
unset($items[$item_id]['product_extras']['groups'][13943][1]);
if ($item['product_extras']['groups'][13943][13945]['label'] === 'maatWerkHoogteCalc') {
$items['product_extras']['groups'][13943][13945]['label'] = 'Maatwerk Hoogte MM';
}
if ($item['product_extras']['groups'][13943][13944]['label'] === 'maatWerkBreedteCalc'){
$items['product_extras']['groups'][13943][13945]['label'] = 'Maatwerk Breedte MM';
}
Безуспешно, и я застрял в этой (простой?) проблеме.
Может быть, у кого-нибудь есть какие-либо предложения по изменению заданных элементов массива?
Спасибо, с уважением.
Массив данных: https://pastebin.com/Kdeg5WNh