PHP试图从数组中获取以某个字母开头的字符串,这给了我一切

PHP试图从数组中获取以某个字母开头的字符串,这给了我一切,php,mysqli,Php,Mysqli,我试图从my_sqli查询中获取仅以某个字母开头的字符串,但它总是输出整个数组。这是我的代码,我试图得到第一个值,看看它是否以正确的字母开头,如果是,则回显它,然后继续下一个 $strSQL = "SELECT title FROM blogtable ORDER BY title ASC"; $titleResult = mysqli_query($con, $strSQL); while($rowTitle = mysqli_fetch_array($titleResult)) {

我试图从my_sqli查询中获取仅以某个字母开头的字符串,但它总是输出整个数组。这是我的代码,我试图得到第一个值,看看它是否以正确的字母开头,如果是,则回显它,然后继续下一个

$strSQL = "SELECT title FROM blogtable ORDER BY title ASC";
$titleResult = mysqli_query($con, $strSQL);

while($rowTitle = mysqli_fetch_array($titleResult))
{
    $strTitle = $rowTitle['title'];
    $subTitle = substr($strTitle,0,2);
    $subNum = ord($subTitle);//This gets me the value of the first letter
    if($subNum = $topLetter)//$topLetter = 65, which is capital A 
    {
        echo $strTitle;
        echo "<br>";
    }
}
$strSQL=“按标题ASC从博客表顺序选择标题”;
$titleResult=mysqli_查询($con,$strSQL);
while($rowTitle=mysqli\u fetch\u数组($titleResult))
{
$strTitle=$rowttitle['title'];
$subTitle=substr($strTitle,0,2);
$subNum=ord($subTitle);//这将获取第一个字母的值
如果($subNum=$topLetter)/$topLetter=65,则大写A
{
echo$Strttle;
回声“
”; } }

所以这里的问题是,如果我有3个东西,并且只有2个以A开头,它将输出所有3个,但我只想要以A开头的2个。

更改if语句

if($subNum == $topLetter)

说明:运算符
=
测试相等性,运算符
=
是赋值运算符。

更改您的if语句

if($subNum == $topLetter)

解释:运算符
==
测试等式,运算符
=
是赋值运算符。

这可能是个愚蠢的问题,但为什么不在查询中这样做呢<代码>从BooGabt中选择标题,标题为“一%”,标题为ASC 。它通常会更快,特别是对于大的结果集。您应该考虑用对应于第一个字母的字母ID重构数据库模式。容易多了。效率更高。哦,我不知道这是可能的。谢谢你的提示。这可能是一个愚蠢的问题,但为什么不在查询中这样做呢<代码>从BooGabt中选择标题,标题为“一%”,标题为ASC 。它通常会更快,特别是对于大的结果集。您应该考虑用对应于第一个字母的字母ID重构数据库模式。容易多了。效率更高。哦,我不知道这是可能的,谢谢你的提示。要澄清,=分配,==比较。要澄清,=分配,==比较。