为了账号安全,请及时绑定邮箱和手机立即绑定

数组中的 if 语句 - 给定购物车元数据和变体 id | 电子商务

数组中的 if 语句 - 给定购物车元数据和变体 id | 电子商务

PHP
慕尼黑8549860 2022-07-22 15:31:18
在具有多个语句的数组中设置 if 语句的最佳实践是什么?如果'variant_id'是null使用'external_variant_id'像下面这张图片或任何其他见解都会有所帮助。'variant_id'&之间存在冲突的示例'external_variant_id'  $valued = get_post_meta( $item['data']->get_id(), 'printful_variant_id', true),  $request['items'] [] = array(  'variant_id'=> $valued,  'external_variant_id' => $item['variation_id'] ? $item['variation_id'] : $item['product_id'],更新Barmar 的回答中的完整使用示例    foreach ( $package['contents'] as $item ) {    $valued = get_post_meta( $item['data']->get_id(), 'printful_variant_id', true);    if ($valued) {        $request['items'] [] = array(             'variant_id'=> $valued,            'quantity'            => $item['quantity'],            'value'               => $item['line_total'] / $item['quantity'],        );    }else {            $request['items'] [] = array(     'external_variant_id' => $item['variation_id'] ? $item['variation_id'] : $item['product_id'],            'quantity'            => $item['quantity'],            'value'               => $item['line_total'] / $item['quantity'],     );    }   }
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

使用所有公共键分别创建数组,并对不同的部分使用条件分配。


$item = array('quantity'            => $item['quantity'],

              'value'               => $item['line_total'] / $item['quantity'],

);

$valued = get_post_meta( $item['data']->get_id(), 'printful_variant_id', true);

if ($valued) {

    $item['variant_id'] = $valued;

} elseif ($item['variation_id']) {

    $item['external_variant_id'] = $item['variation_id'];

else {

    $item['external_variant_id'] = $item['product_id'];

}

$request['items'][] = $item;

将其全部压缩到数组分配中是没有奖品的。但是您可以使用增强的三元运算符来简化最后一个表达式。


if ($valued) {

    $item['variant_id'] = $valued;

} else {

    $item['external_variant_id'] = $item['variation_id'] ?: $item['product_id'];

}


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 55 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信