dptiq46022 2018-05-20 13:50
浏览 39
已采纳

循环不带case函数并返回空结果

I will try to insert inside dropdown information but it's always empty. Like you can see insde the code the case is not injected inside $lc_text

for ($col = 0, $n = count($column_list); $col < $n; $col++) {

              var_dump($column_list);
              var_dump($column_list[$col]);


              switch ($column_list[$col]) {
                case 'MODULE_PRODUCTS_SEARCH_LIST_DATE_ADDED':
                  $lc_text = OSCOM::getDef('table_heading_date');
                break;
                case 'MODULE_PRODUCTS_SEARCH_LIST_PRICE':
                  $lc_text = OSCOM::getDef('table_heading_price');
                break;
                case 'MODULE_PRODUCTS_SEARCH_LIST_MODEL':
                  $lc_text = OSCOM::getDef('table_heading_model');
                break;
                case 'MODULE_PRODUCTS_SEARCH_LIST_NAME':
                  $lc_text = OSCOM::getDef('table_heading_products');
                break;
                case 'MODULE_PRODUCTS_SEARCH_LIST_MANUFACTURER':
                  $lc_text = OSCOM::getDef('table_heading_manufacturer');
                break;
                case 'MODULE_PRODUCTS_SEARCH_LIST_QUANTITY':
                  $lc_text = OSCOM::getDef('table_heading_quantity');
                break;
                case 'MODULE_PRODUCTS_SEARCH_LIST_WEIGHT':
                  $lc_text = OSCOM::getDef('table_heading_weight');
                break;
              }




var_dump($lc_text);
              $new_lc_text = $OSCOM_ProductsCommon->createSortHeading($_GET['sort'], $col+1, $lc_text);

var_dump($new_lc_text);

              $new_prods_content .= '<button class="dropdown-item" type="button">' . $new_lc_text . '</button>';

        }

Result of the different element :

var_dump($column_list);
array (size=7)
  'MODULE_PRODUCTS_SEARCH_LIST_NAME' => string 'module_products_search_list_name' (length=32)
  'MODULE_PRODUCTS_SEARCH_LIST_MODEL' => string 'module_products_search_list_model' (length=33)
  'MODULE_PRODUCTS_SEARCH_LIST_MANUFACTURER' => string 'module_products_search_list_manufacturer' (length=40)
  'MODULE_PRODUCTS_SEARCH_LIST_PRICE' => string 'module_products_search_list_price' (length=33)
  'MODULE_PRODUCTS_SEARCH_LIST_QUANTITY' => string 'module_products_search_list_quantity' (length=36)
  'MODULE_PRODUCTS_SEARCH_LIST_WEIGHT' => string 'module_products_search_list_weight' (length=34)
  'MODULE_PRODUCTS_SEARCH_LIST_DATE_ADDED' => string 'module_products_search_list_date_added' (length=38)


var_dump($column_list[$col]);
 '<a href="http://localhost/test/boutique/index.php/Search/Q/keywords,t/page,1/sort,1a" title="Sort productsascendinglyby" class="productListing-heading"></a>' (length=169)


var_dump($lc_text);
/home/www/test/boutique/sources/template/Default/modules/modules_products_search/pse_products_search.php:94:null


'var_dump($new_lc_text);
<a href="http://localhost/test/boutique/index.php/Search/Q/keywords,t/page,1/sort,1a" title="Sort productsascendinglyby" class="productListing-heading"></a>'
  • 写回答

1条回答 默认 最新

  • dongweng6241 2018-05-20 14:05
    关注

    You need to check key of your array, not it's value:

    foreach ($column_list as $k => $v) {
    
      switch ($k) {
        case 'MODULE_PRODUCTS_SEARCH_LIST_DATE_ADDED':
          $lc_text = OSCOM::getDef('table_heading_date');
        break;
        case 'MODULE_PRODUCTS_SEARCH_LIST_PRICE':
          $lc_text = OSCOM::getDef('table_heading_price');
        break;
        case 'MODULE_PRODUCTS_SEARCH_LIST_MODEL':
          $lc_text = OSCOM::getDef('table_heading_model');
        break;
        case 'MODULE_PRODUCTS_SEARCH_LIST_NAME':
          $lc_text = OSCOM::getDef('table_heading_products');
        break;
        case 'MODULE_PRODUCTS_SEARCH_LIST_MANUFACTURER':
          $lc_text = OSCOM::getDef('table_heading_manufacturer');
        break;
        case 'MODULE_PRODUCTS_SEARCH_LIST_QUANTITY':
          $lc_text = OSCOM::getDef('table_heading_quantity');
        break;
        case 'MODULE_PRODUCTS_SEARCH_LIST_WEIGHT':
          $lc_text = OSCOM::getDef('table_heading_weight');
        break;
      }
    
      var_dump($lc_text);
      // I don't know what `$col+1` means, but I suppose it 
      // should be rewritten too, as `$col` is NOT used now
      $new_lc_text = $OSCOM_ProductsCommon->createSortHeading($_GET['sort'], $col+1, $lc_text);
    
      var_dump($new_lc_text);
      $new_prods_content .= '<button class="dropdown-item" type="button">' . $new_lc_text . '</button>';
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

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