我有一个包含3个回声的函数。我想要的只是一次回报。我如何重建函数,以便用返回值替换那些回声?
尤其是前部分对我来说似乎是一个问题。
function display_customer_table() {
echo '
<div class="table-responsive">
<form method="post">
<table class="table table-hover table-striped yc_table">
<tr>
<th>#</th>
<th>Anrede</th>
<th>Name</th>
<th>E-Mail</th>
<th>Website</th>
<th>Datum</th>
<th>Kontaktiert von</th>
<th>Angerufen?</th>
</tr>';
foreach ($get_uncontacted_members as $get_uncontacted_member) {
$timestamp = strtotime($get_uncontacted_member->date);
echo '
<tr>
<td>' . $num++ . '</td>
<td>' . $get_uncontacted_member->anrede . '</td>
<td>' . $get_uncontacted_member->receiver . '</td>
<td><a target="_blank" href="mailto:'. $get_uncontacted_member->email .'">' . $get_uncontacted_member->email . '</a></td>
<td><a target="_blank" href="http://'. $get_uncontacted_member->website .'">' . $get_uncontacted_member->website . '</a></td>
<td>' . date("d.m.Y, H:i", $timestamp) . '</td>
<td>' . $get_uncontacted_member->mitarbeiter . '</td>
<td><i title="Zielperson wurde telefonisch kontaktiert" id="' . $get_uncontacted_member->id . '" class="fa fa-phone-square called"></i></td>
</tr>';
}
echo ' </table>
</form>
</div>';
}
试试这个:
function display_customer_table() {
$output = '
<div class="table-responsive">
<form method="post">
<table class="table table-hover table-striped yc_table">
<tr>
<th>#</th>
<th>Anrede</th>
<th>Name</th>
<th>E-Mail</th>
<th>Website</th>
<th>Datum</th>
<th>Kontaktiert von</th>
<th>Angerufen?</th>
</tr>';
foreach ($get_uncontacted_members as $get_uncontacted_member) {
$timestamp = strtotime($get_uncontacted_member->date);
$output .= '
<tr>
<td>' . $num++ . '</td>
<td>' . $get_uncontacted_member->anrede . '</td>
<td>' . $get_uncontacted_member->receiver . '</td>
<td><a target="_blank" href="mailto:'. $get_uncontacted_member->email .'">' . $get_uncontacted_member->email . '</a></td>
<td><a target="_blank" href="http://'. $get_uncontacted_member->website .'">' . $get_uncontacted_member->website . '</a></td>
<td>' . date("d.m.Y, H:i", $timestamp) . '</td>
<td>' . $get_uncontacted_member->mitarbeiter . '</td>
<td><i title="Zielperson wurde telefonisch kontaktiert" id="' . $get_uncontacted_member->id . '" class="fa fa-phone-square called"></i></td>
</tr>';
}
$output .= ' </table>
</form>
</div>';
return $output;
}
还要注意,您的代码不是很整洁,也就是说,因为您一直将字符串与变量连接在一起。看一下sprintf函数
先设置一个空变量:
$return = "";
不写echo
,只写
$return .=
然后你可以(在函数的末尾)说:
return $return;
的例子:
echo ' </table>
</form>
</div>';
去:$return .= ' </table>
</form>
</div>';