-2

当我尝试在这个 echo 和 div 类中 print_r 时,它返回的病人欠债 1 怎么办?

 $balance_out = sql::results("SELECT CODE,BALANCE FROM event.acs.ptbalance() WHERE CODE='$patient_id' and BALANCE > 0");
    echo "<div class='patient_alert red'>Patient owes ".print_r($balance_out)."</div>";

但是,如果我只是这样 print_r 它会给我正确的数组。

echo "<pre>"; print_r ($balance_out); echo "</pre>"; 

像这样:

Array
(
    [0] => Array
        (
            [CODE] => ACSSCHAR00
            [BALANCE] => 24.33
        )

)

任何帮助将不胜感激。我必须确定我想要的数组键值吗?

4

2 回答 2

2

不要假设函数是如何工作的;只需检查手册

混合 print_r (mixed $expression [, bool $return = false ])
[...]
返回值
[...]
当返回参数为 TRUE 时,此函数将返回一个字符串。否则,返回值为 TRUE

因此,如果您希望 print_r() 返回值而不是打印它,请相应地使用第二个参数:

echo "<div class='patient_alert red'>Patient owes ".print_r($balance_out, true)."</div>";
                                                                          ^^^^
于 2013-05-23T14:35:42.837 回答
1

你不能print_r像你正在尝试的那样连接成一个字符串,除非你传递第二个参数true

例如

print_r($balance_out, true);

否则返回 true,字符串将其解释为1

但是,如果要将患者天平插入 HTML 输出,则可能需要执行类似操作

 "<div class='patient_alert red'>Patient owes ".$balance_out[0]['BALANCE']."</div>";
于 2013-05-23T14:31:27.960 回答