仅将从MySQL输出的第一个字大写

时间:2012-03-21 00:25:10

标签: php mysql string capitalize

我希望将MySQL和PHP提供的第一个单词的每个字母大写,并将其余单词保持为小写。怎么可以实现呢?

它存储在数据库中,只有首字母大写,所以真正的诀窍是将其余的单词保持小写。

以下是截至今天从数据库中提取单词的代码:

<?php

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keyword = $row0['LCASE(ord)'];

echo "$keyword, ";

}
?>

8 个答案:

答案 0 :(得分:1)

除非我误解了某些事情......

<?
$count = 0;
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
    if ($count == 0) {
        $keyword = ucfirst($row0['LCASE(ord)']); // this will capitalize just the first letter
        $keyword = strtoupper($row0['LCASE(ord)']); // this will make the first word in all CAPS (choose which one you want)
    }
    else
        $keyword = strtolower($row0['LCASE(ord)']);

    echo "$keyword, ";
    $count++;

}
?>

答案 1 :(得分:0)

如果数据存储在数据库中且首字母大写(您希望如何?),为什么有意在查询中小写它?

如果我完全困惑,你想要的功能就是ucfirst:

echo ucfirst($keyword);

修改

$index = strpos($word, ' ');
echo ucfirst(substr($word,0,$index)) . substr($word, $index);

答案 2 :(得分:0)

如果我理解正确,请使用php方法ucfirst($ string)

答案 3 :(得分:0)

我很困惑你为什么需要这个,但最好用PHP完成:

$query0  = "SELECT ord FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keyword = ucfirst(strtolower($row0['ord']));

echo "$keyword, ";

}

ucfirst:大写第一个字母
strtolower:小写整个字符串

答案 4 :(得分:0)

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

$i=0;
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
   if($i == 0){
      $keyword = ucfirst(strtolower($row0['LCASE(ord)']));
      $i++;
   }
   else
      $keyword = strtolower($row0['LCASE(ord)']);

   echo "$keyword, ";

}

答案 5 :(得分:0)

尝试按如下方式对LCASE(ord)进行别名处理:

<?php

$query0  = "SELECT LCASE(ord) LCaseValue FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
    $keyword = $row0['LCaseValue'];
    echo "$keyword, ";
}
?>

答案 6 :(得分:0)

解决方案最终是这样的:     

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);

while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keywords[] = $row0['LCASE(ord)'];
}
echo ucfirst(implode(', ', $keywords));
echo ".";
?>

这提供了一系列如下所示的单词:

  

Deltagende,sosial,pragmatisk,kunnskapsrik,løsningsorientert,samarbeidende,engasjert。

而不是:

  

deltagende,sosial,pragmatisk,kunnskapsrik,løsningsorientert,samarbeidende,engasjert,

此解决方案是针对有关如何删除我在此处发布的最后一个逗号的不同问题修改解决方案的结果Remove last comma or prevent it from being printed at all MySQL/PHP

答案 7 :(得分:-1)

你可以使用

ucwords(-yourdata-);

这将使每个数据字都大写。