简体   繁体   English

Array_push在for循环中给出空响应

[英]Array_push in for loop giving null response

Hello I am trying to push in an array using array_push but I am getting the value of the first index then after that all I am getting a null response, I am not getting where I have done a mistake.I am getting the values properly but in array_push there is some mistake which is in for loop. 你好,我试图使用array_push推入一个数组,但是我得到了第一个索引的值,然后在得到空响应之后,我没有得到我做错的地方,我得到了正确的值,但是在array_push中有一些错误在for循环中。

Here is my code : 这是我的代码:

  function actioncouponcsv_download() {
    $this->layout = false;
    foreach (Yii::app()->log->routes as $route) {
        if ($route instanceof CWebLogRoute || $route instanceof CFileLogRoute || $route instanceof YiiDebugToolbarRoute) {
            $route->enabled = false;
        }
    }
    $dateRange = json_decode($_POST['dateRange'], true);
    $start = $dateRange['start'];
    $end = $dateRange['end'];
    $validity = $_POST['validity'];
    $limit = isset($_REQUEST['limit']) && trim($_REQUEST['limit']) ? $_REQUEST['limit'] : 0;
    $studio_id = Yii::app()->user->studio_id;
    if (isset($_GET['type']) && intval($_GET['type']) ==2) {
            $couponobj = new CouponSubscription();
            $getcouponobj = $couponobj->getcoupon_data($studio_id,$start,$end,$validity);
        $k = 0;
            $title_addon = "\t" . "Discount Cycle" . "\t" . "Extend free trail";
        $data_addon = "\t" . $getcouponobj[$k]['discount_multiple_cycle'] . "\t" . $getcouponobj[$k]['extend_free_trail'];
    } else {
        $title_addon = "";
        $data_addon = "";
        $couponobj = new Coupon();
        $getcouponobj = $couponobj->getcoupon_data($studio_id,$limit,1);
    }

    //$Coupon = Coupon::model()->find('studio_id=:studio_id', array(':studio_id' => $studio_id));
    $dataCsv = '';
    if ($getcouponobj) {
        $headings = "Sl no" . "\t" . "Coupon" . "\t" . "Coupon Type" . "\t" . "Used by a single user" . "\t" . "Valid" . "\t" . "Used" . "\t" . "User" .$title_addon. "\t" . "Used Date". "\t" . "Content Category". "\t" . "Content"."\n";
        $i = 1;
        $dataCSV[] = Array();
        $j = 0;
        for ($k = 0; $k < count($getcouponobj); $k++) {
            $userList = '-';
            if ($getcouponobj[$k]['used_by'] != '0') {
                if ($getcouponobj[$k]['coupon_type'] == 1) {
                    $userList = '';
                    $userIdList = explode(",", $getcouponobj[$k]['used_by']);
                    foreach ($userIdList as $userIdListKey => $userIdListVal) {
                        if ($userIdListKey == 0) {
                            $userList .= Yii::app()->webCommon->getuseremail($userIdListVal);
                        } else {
                            $userList .= " | " . Yii::app()->webCommon->getuseremail($userIdListVal);
                        }
                    }
                } else {
                    $userList = Yii::app()->webCommon->getuseremail($getcouponobj[$k]['used_by']);
                }
            }

            if($getcouponobj[$k]['is_all']!=1){
                if($getcouponobj[$k]['content_category']==1){
                    $cont_cat = "Digital";
                    $content_str = Coupon::model()->getContentInfo($getcouponobj[$k]['specific_content']);
                    $cont_str = $content_str;
                }else if($getcouponobj[$k]['content_category']==2){
                    $cont_cat = "Physical";
                    $content_str = Coupon::model()->getContentInfoPhysical($getcouponobj[$k]['specific_content']);
                    $cont_str = $content_str;
                }else{
                    $cont_cat = "All";
                    $cont_str = "All";
                }
            }else{
                $cont_cat = "All";
                $cont_str = "All";
            }
            #echo $getcouponobj[$k]['coupon_code'];
              array_push($dataCSV[$j],$i);
              array_push($dataCSV[$j],$getcouponobj[$k]['coupon_code']);
              array_push($dataCSV[$j],(($getcouponobj[$k]['coupon_type'] == 1) ? 'Multi-use' : 'Once-use'));
              array_push($dataCSV[$j],(($getcouponobj[$k]['user_can_use'] == 1) ? 'Multiple times' : 'Once'));
              array_push($dataCSV[$j],(($getcouponobj[$k]['used_by'] == 0) ? 'Yes' : 'No'));
              array_push($dataCSV[$j],(($getcouponobj[$k]['used_by'] == 0) ? '-' : 'Yes'));
              array_push($dataCSV[$j],$userList);
              array_push($dataCSV[$j],$getcouponobj[$k]['discount_multiple_cycle']);
              array_push($dataCSV[$j],$getcouponobj[$k]['extend_free_trail']);
              array_push($dataCSV[$j],(($getcouponobj[$k]['cused_date'] == 0) ? '-' : $getcouponobj[$k]['cused_date']));
              array_push($dataCSV[$j],$cont_cat);
              array_push($dataCSV[$j],$cont_str);
            $j++;


            //$dataCsv .= $i . "\t" . $getcouponobj[$k]['coupon_code'] . "\t" . (($getcouponobj[$k]['coupon_type'] == 1) ? 'Multi-use' : 'Once-use') . "\t" . (($getcouponobj[$k]['user_can_use'] == 1) ? 'Multiple times' : 'Once') . "\t" . (($getcouponobj[$k]['used_by'] == 0) ? 'Yes' : 'No') . "\t" . (($getcouponobj[$k]['used_by'] == 0) ? '-' : 'Yes') . "\t" . $userList .$data_addon. "\t" . (($getcouponobj[$k]['cused_date'] == 0) ? '-' : $getcouponobj[$k]['cused_date'])."\t" .$cont_cat ."\t".$cont_str."\n";

            $i = $i+1;
        }
    }
    print_r(json_encode($dataCSV));

}

PS: I am getting the values. PS:我正在获取价值。 Any help will be highly appreciated. 任何帮助将不胜感激。

Well, first thing i see wrong is the way you declare your array: 好吧,我首先看到的错误是您声明数组的方式:

$dataCSV[] = Array();

$array[] = Means that you are adding a new value to an existing array. $ array [] =表示您正在向现有数组添加新值。 To declare your array you should use 要声明您的数组,您应该使用

$dataCSV = array();

Also, this code: 另外,此代码:

array_push($dataCSV[$j],$i);

means that you are adding a new value to your $dataCSV[$j] array, but this is never declared as an array, so first thing would be to do 表示您正在向$ dataCSV [$ j]数组添加新值,但是永远不会将其声明为数组,因此第一件事就是

$dataCSV[$j] = new array();

Your code is really long and complicated, those are only examples of issues i see in there. 您的代码真的很长而且很复杂,这些只是我在那里看到的问题的示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM