我正在从数据库中读取数据,我无法控制数据库及其值。
我正在使用PHP会话来显示这些数据。
输出$row['Type']
时是否可以根据数据库返回的匹配项更改输出?我试图搜索解决方案,并且在以前的问题中找不到任何与此相关的内容。感谢。
示例:
如果在$ row ['Type']中输出'Fishing Boat',我想拦截它并将其更改为'Vessel'
代码段:
foreach($_SESSION['records'] as $key=>$row){
$txt .='<h3>'.$row['Type'].'</h3><br/>' ;
答案 0 :(得分:2)
如果你的意思是想要改变输出,如果你有&#39;钓鱼船&#39;在$row['Type']
然后你需要什么
foreach($_SESSION['records'] as $key=>$row)
{
if(strcmp($row['Type'] , 'Fishing Boat') == 0)
$txt .='<h3> Vessel </h3><br/>' ;
else
$txt .='<h3>'. $row['Type'] .'</h3><br/>' ;
}
答案 1 :(得分:2)
您只需测试相关值,然后将$row['Type']
或替换值连接到$txt
。
foreach($_SESSION['records'] as $key=>$row){
if ($row['Type'] == 'Fishing Boat' ) {
$txt .= '<h3>Vessel</h3><br/>';
}else{
$txt .= '<h3>'.$row['Type'].'</h3><br/>';
}
或者使用三元运算符
foreach($_SESSION['records'] as $key=>$row){
$txt .= ($row['Type'] == 'Fishing Boat' )
? '<h3>'Vessel'</h3><br/>'
: '<h3>$row['Type']</h3><br/>';
答案 2 :(得分:2)
此代码拦截并更改会话值:
foreach($_SESSION['records'] as $key=>$row){
switch ($row['Type']) {
case "Fishing Boat":
$_SESSION['records'][$key]['Type'] = 'Vessel';
break;
case "Real Estate":
$_SESSION['records'][$key]['Type'] = "Homes For Sale";
break;
// there is no need for "default:"
}
$txt .='<h3>'.$_SESSION['records'][$key]['Type'].'</h3><br/>' ;\
}
现在您的$_SESSION
已更改,您可以再次打印:
foreach($_SESSION['records'] as $key=>$row){
$txt .='<h3>'.$row['Type'].'</h3><br/>' ;\
}