Я имею эту Еогеасп функцию:Найти ключ в массиве в Еогеасп
foreach($total_data as $arrays){
//debug
//print_r($total_data);
//exit;
if($arrays['code']=='d_payment_fee'){
$dpaymentfeetext = ' - '.$arrays['title'];
$dpaymentfeevalue = $arrays['value']/1.20;
}
if($arrays['code']=='shipping'){
$api->addItem(array(
'name' => $arrays['title'].$dpaymentfeetext,
'quantity' => 1,
'unit' => 'ks',
'unit_price' => ($arrays['value']+$dpaymentfeevalue)*1.20
));
}
}
Это прекрасно работает, если первый элемент массива является d_payment_fee, а второй является доставка:
[0] => Array
(
[order_total_id] => 214950
[order_id] => 4779
[code] => d_payment_fee
[title] => COD
[text] => 1,00€
[value] => 1.0000
[sort_order] => 2
)
[1] => Array
(
[order_total_id] => 214951
[order_id] => 4779
[code] => shipping
[title] => Free
[text] => 0,00€
[value] => 0.0000
[sort_order] => 3
)
есть случаи, когда d_payment_fee не на первом месте, как здесь:
[0] => Array
(
[order_total_id] => 216352
[order_id] => 4796
[code] => shipping
[title] => Free shipping
[text] => 2,50€
[value] => 2.5000
[sort_order] => 2
)
[1] => Array
(
[order_total_id] => 216353
[order_id] => 4796
[code] => d_payment_fee
[title] => COD
[text] => 1,00€
[value] => 1.0000
[sort_order] => 3
)
В этом случае я получил неопределенную переменную $ dpaymentfee *. Можно ли найти d_payment_fee, если это не на первом месте?
Как выглядит ваш оригинальный массив? – Andrew
Есть еще несколько предметов, но эти два являются релевантными для меня. Если вам нужно, я могу копировать здесь. – Adrian
как побочное примечание, вы можете подумать об использовании 'else if' для вашего второго условия –