我想用php从mysql输出。我输出的SQL查询包含了几个连接,其中一些值是NULL。当我呼应输出时,我得到了NULL值的空位。我怎样才能消除这些空位?我在要输出的每个值之间都有换行符,但NULL值只是放置了一个空位。所以我的输出看起来有点像这样。
它看起来像什么?
Dave Smith 主题1
主题3
约翰-史密斯科目一科目二
主题4
我想让它看起来像什么
Dave Smith 主题1 主题3
约翰-史密斯科目一科目二科目四
我试了几个php的trim函数,但好像都不行。相关代码如下。
$resultSet = $db->query ("...my query");
echo $resultSet -> num_rows;
While($rows = $resultSet ->fetch_assoc())
{
$FirstName = ($rows['First_Name']);
$Surname = ($rows['Surname']);
$subject1 = ($rows['subject1']);
$subject2 = ($rows['subject2']);
$subject3 = ($rows['subject3']);
$subject4 = ($rows['subject4']);
$output .= "<p> $FirstName $Surname <br/> Chosen Subjects <br/> $subject1 <br/> $subject2 <br/>
$subject3 <br/> $subject4 </p>";
}
当我回声输出时,我得到空空格的NULL值。
$subject1 = ($rows['subject1']); $subject2 = ($rows['subject2']); $subject3 = ($rows['subject3']); $subject4 = ($rows['subject4']); $output .= "<p> $FirstName $Surname <br/> Chosen Subjects <br/> $subject1 <br/> $subject2 <br/> $subject3 <br/> $subject4 </p>";
你的空位的原因是你把 <br/>
不管是否有任何PHP值存在。
falsey
null
数组中的值implode
数组中的值到最后的字符串中。a) 将数值放入一个数组中。
$subject[1] = $rows['subject1'];
$subject[2] = $rows['subject2'];
$subject[3] = $rows['subject3'];
$subject[4] = $rows['subject4'];
b) 清理出 null
价值观 参考
$subjectOutput = array_filter($subject, 'strlen');
注:如果你不关心其他的。falsey
值,如0,那么你可以简单地做一个更基本的 array_filter()
诸如 = array_filter($subject);
.
c) 爆炸 的数组。
$subjectString = implode($subjectOutput, '<br/>');
$subject[1] = "horses";
$subject[2] = 12;
$subject[3] = 0;
$subject[4] = null;
$subject[5] = "cats";
$subjectOutput = array_filter($subject, 'strlen');
//$subject[1] = "horses";
//$subject[2] = 12;
//$subject[3] = 0;
//$subject[5] = "cats";
/***
* simply print the sting and voila!
***/
$subjectString = implode($subjectOutput, '<br/>');
// $subjectString = "horses<br/>12<br/>0<br/>cats";
$output .= "<p> $FirstName $Surname <br/> Chosen Subjects <br/> ".$subjectString." </p>";
你可以试试下面的代码
$output = "<p>{$FirstName} {$Surname}<br/>Chosen Subjects:<br/>";
$output .= (!empty($subject1)) ? "{$subject1}<br/>" : "";
$output .= (!empty($subject2)) ? "{$subject2}<br/>" : "";
$output .= (!empty($subject3)) ? "{$subject3}<br/>" : "";
$output .= (!empty($subject4)) ? "{$subject4}<br/>" : "";
$output .= "</p>";