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

数组中的 if 语句 - 给定 cart 元和变体 id |伍维格

数组中的 if 语句 - 给定 cart 元和变体 id |伍维格

PHP
慕盖茨4494581 2022-08-05 10:28:27
在具有多个语句的数组中设置 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贡献1806条经验 获得超5个赞

使用所有公共键单独创建数组,并对不同的部分使用条件赋值。


$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-08-05
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

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