【问题标题】:Calling A Few Print Function At Once一次调用几个打印函数
【发布时间】:2014-12-22 15:34:52
【问题描述】:

我想知道是否可以将下面的打印功能组合起来,这样它只会被调用一次。因为我的 listTableOfUser 函数在调用时会添加几行数据,而我只需要在打印所有表格时添加一次数据。谢谢。

if ($table == "all") {
    print listTableOfUser( "alert", $userNm, $CCR_Trans);
    print listTableOfUser( "problem", $userNm, $CCR_Trans);
    print listTableOfUser( "vitalsigns", $userNm, $CCR_Trans);
    print listTableOfUser( "result", $userNm, $CCR_Trans);
    print listTableOfUser( "medication", $userNm, $CCR_Trans);
    print listTableOfUser( "functional_status", $userNm, $CCR_Trans);
    print listTableOfUser( "procedureP", $userNm, $CCR_Trans);
    print listTableOfUser( "immunization", $userNm, $CCR_Trans);
    print listTableOfUser( "family_history", $userNm, $CCR_Trans);
    print listTableOfUser( "social_history", $userNm, $CCR_Trans);
    print listTableOfUser( "planofcare", $userNm, $CCR_Trans);
    print listTableOfUser( "actor", $userNm, $CCR_Trans);
    print listTableOfUser( "medical_equipment", $userNm, $CCR_Trans);
    print listTableOfUser( "healthcare_provider", $userNm, $CCR_Trans);
    print listTableOfUser( "payers", $userNm, $CCR_Trans);
    print listTableOfUser( "encounters", $userNm, $CCR_Trans);
    print listTableOfUser( "advancedirective", $userNm, $CCR_Trans);
}
else  { print listTableOfUser( $table, $userNm, $CCR_Trans);

【问题讨论】:

  • 听起来你想要一个循环。
  • 只需定义一个变量 $output = "" 并向其中添加任何输出数据,例如 "$output .= listTableOfUser(...)"。最后你只需调用“print $output;”
  • @SLaks 创建循环会导致函数被多次调用不是吗?
  • 只需将第一个参数作为数组传递.. 并在您的 listTableOfUser 函数中循环..

标签: php function printing


【解决方案1】:
$tables = ($table == "all") ? array( 
                               "alert",    
                               "problem",
                               "vitalsigns", 
                               "result", 
                               "medication", 
                               "functional_status",
                               "procedureP",
                               "immunization",
                               "family_history",
                               "social_history",
                               "planofcare",
                               "actor",
                               "medical_equipment",
                               "healthcare_provider",
                               "payers",
                               "encounters",
                               "advancedirective"
                             ) : array($table); // prepared an array

foreach ($tables as $t) {
  print listTableOfUser( $t, $userNm, $CCR_Trans );
}

【讨论】:

  • 我的 listTableOfUser 函数在调用时会添加几行数据,我只需要在打印所有表格时添加一次数据。可以这样做吗?谢谢
  • 直接不可能。你不能阻止某些部分函数被执行。但是您始终可以选择提供自己的函数来代替 listTableOfUser,或者收集所有内容,然后使用 preg_replace 过滤输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-31
  • 2018-12-29
  • 2018-12-28
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
相关资源
最近更新 更多