donglengyuan6826 2017-01-03 22:29
浏览 62

检查多维数组是否具有特定键的值

I want to run through this array

$to_check = array(
    'message' => string(4) "test"
    'promo_code_id' => string(0) ""
    'shipping_fee' => int(0)
    'cart'=> array(
      'value_euro' => string(6) "100.00"
      'shipping_desc' => string(14) "Email Delivery"
      'shipping_fee' => string(4) "0.00"
      'discount' => array(
          'valid' => string(3) "yes"
          'amount' => string(4) "0.00" 
       )
      )
    }
}

to see if these keys have values

    $check['message']
    $check['shipping_fee']
    $check['cart'][value_euro']
    $check['cart'][shipping_desc']
    $check['cart'][discount']['valid']

only.

Is there a nice way to loop through the $to_check array without creating all individual if statements?

  • 写回答

1条回答 默认 最新

  • dt97868 2017-01-03 23:26
    关注

    Your question is unclear but I think this will do what you're asking:

    $to_check = array(
        'message' => 'yes',
        'shipping_fee',
        'cart', 
        'value_euro', 
        'shipping',
        'discount'
        );
    
    
    
    foreach($to_check as $check){
        if(!is_array($check) && array_key_exists($check, $to_check)){
        //the key has a value, do something 
        }elseif(is_array($check)){
            foreach($check as $multi_array){
                if(array_key_exists($multi_array, $to_check)){
                //since your original array can be multidimensional     
                }
            }
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100