Замена значения в массиве элементов заказа woocommerce - PullRequest
0 голосов
/ 15 января 2020

Мне не удается заменить какое-либо значение в одном массиве до или внутри 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...