我觉得必须有一种更有效的方法来获得相同的结果。 我从SQL查询中获取数据。其中一些值返回“Y”或“N”,我将其替换为“是”或“否”。所以我将每个字段定位如下:
$pool= $row['POOL'];
$pool= str_replace("Y","Yes",$pool);
$pool= str_replace("N","No",$pool);
echo $pool
$wf= $row['WATERFRONT'];
$wf= str_replace("Y","Yes",$wf);
$wf= str_replace("N","No",$wf);
echo $wf
依此类推......是否有更有效的方法将所有“Y / N”字段(POOL,WATERFRONT)组合在一起,可能还有一个数组,然后可以替换这些值?我将如何回应每个领域?
答案 0 :(得分:6)
foreach(array('POOL', 'WATERFRONT') as $field) {
echo str_replace(array('Yes', 'No'), array('Y', 'N'), $row[$field]);
}
这只是将每个Y / N字段的数组键放入一个数组中,然后遍历它。在循环内部,它使用str_replace()
但利用了capability to pass arrays for both the values to swap and their replacements:
如果搜索和替换是数组,则str_replace()从每个数组中获取一个值,并使用它们来搜索和替换主题。如果replace的值小于search,则空字符串将用于其余的替换值。如果search是一个数组而replace是一个字符串,那么这个替换字符串将用于搜索的每个值。
答案 1 :(得分:0)
str_replace似乎过多。
你仍然可以在John Conde的答案中使用循环,但在其中我会使用一个三元语句,因为你期望Y或N.
<?php echo $row[$field] == 'Y' ? 'Yes' : 'No'; ?>