【问题标题】:Please tell me how to write condition in php class method请告诉我如何在 php 类方法中编写条件
【发布时间】:2017-04-30 03:41:03
【问题描述】:

我现在的代码:

if ($condition) {
      $result = ORM::for_table($tableName)
         ->order_by_ACS($columnSort)
         ->findArray();
} else { 
      $result = ORM::for_table($tableName)
         ->order_by_DESC($columnSort)
         ->findArray();
}

问怎么写

$result = ORM::for_table($tableName)
// if (true) {
            ->order_by_asc($columnSort)
// } else { ->order_by_desc($columnSort) }
            ->findArray();

/** 什么都没有。只是一些评论来发布这篇文章)**/

【问题讨论】:

  • $result->order_by_asc($columnSort);
  • @user2182349 - 调用数组上的成员函数 order_by_desc()

标签: php class methods


【解决方案1】:

您可以通过字符串标识符构建方法调用。

class TestClass
{
  function test1() { echo 'first method<br>'; }
  function test2() { echo 'second method<br>'; }
}

$test = new TestClass();

for($i = 0; $i<=1 ; $i++)
  $test->{'test' . ($i === 0 ? '1' : '2')}();

所以你的例子会变成

$result = ORM::for_table($tableName)
  ->{ $condition ? 'order_by_asc' : 'order_by_desc' }($columnSort)
  ->findArray()
; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 2023-01-27
    • 2012-06-30
    相关资源
    最近更新 更多