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

在具有多个语句的数组中设置 if 语句的最佳实践是什么?

如果'variant_id'null使用'external_variant_id'

像下面这张图片或任何其他见解都会有所帮助。

http://img.mukewang.com/62da525a0001235a06240076.jpg

'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'],

     );

    }

   }


慕尼黑8549860
浏览 63回答 1
1回答

倚天杖

使用所有公共键分别创建数组,并对不同的部分使用条件分配。$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'];}
打开App,查看更多内容
随时随地看视频慕课网APP