php遞歸判斷數組值不能爲空

    
    /**
     * 驗證數組值 不能爲空 ''
     * @param  [array] $data [請求數據]
     * @param  [array] $not_check [跳過檢驗]
     * @return [array]       [返回未通過的key]
     */
    public static function checkArrayValue($data, $not_check = [])
    {
        $record = array('success' => true, 'paramName' => '');
        if (empty($data)) {
            $record = array('success' => false, 'paramName' => '');
            return $record;
        }
        // 判斷參數值是否爲空
        foreach ($data as $d_key => $d_val)
        {
            if ((!in_array($d_key, $not_check)) && (empty($d_val) || (is_numeric($d_val) && (intval($d_val) < 0)))) {
                $record = array('success' => false, 'paramName' => $d_key);
                return $record;
            }
            // 如果是數組 繼續調用自身
            if ((!in_array($d_key, $not_check, true)) && is_array($d_val))
            {
                $record1 = self::checkArrayValue($d_val, $not_check);
                if (empty($record1['success']))
                {
                    return $record1;
                }
            }
        }
        return $record;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章