php爆炸后按字母顺序输出

时间:2013-12-19 13:10:04

标签: php

我有一个像

这样的字符串
 $email= "yun@hotmail.com,sibel@hotmail.com,yusufsar@hotmail.com";

首先我像

一样爆炸
 $wordChunks = explode(",", $email);
for($i = 0; $i < count($wordChunks); $i++){

$eex = mysqli_query($database->connection,"SELECT * FROM contacts where email =   '$wordChunks[$i]' and owner = '$session->username'") or die(mysqli_error());
    while($zzz = mysqli_fetch_array($eex)){


     if(empty($zzz['bedrijfsnaam'])){
        $aa = "<font size='2'>".ucfirst($zzz['name'])." ".ucfirst($zzz['lastname'])."</font>";
    }else{
     $aa = "<font size='2'>".ucfirst($zzz['bedrijfsnaam'])."</font>";
    }
    echo $aa;

     }
}

问题是如何按字母顺序订购$ aa

我尝试的是

$array = str_split($aa, 1);
sort($array);
foreach ($array as $val) {
echo $val."<br>";
}

但是这只命令$ aa中的字符串;例 string = hellow 输出是ehllow。但我想在while循环中订购$ aa的输出

2 个答案:

答案 0 :(得分:1)

不需要使用explode()而不是循环它。只需将该字符串放入查询中它就可以工作。更改您的查询以使用IN()搜索电子邮件并按顺序执行,以便您将按升序自行获取数据。 你可以尝试这样:

$eex = mysqli_query($database->connection,"SELECT * FROM contacts where email IN ($email) and owner = '$session->username' order by email") or die(mysqli_error());
    while($zzz = mysqli_fetch_array($eex)){


     if(empty($zzz['bedrijfsnaam'])){
        $aa = "<font size='2'>".ucfirst($zzz['name'])." ".ucfirst($zzz['lastname'])."</font>";
    }else{
     $aa = "<font size='2'>".ucfirst($zzz['bedrijfsnaam'])."</font>";
    }
    echo $aa;

     }

答案 1 :(得分:0)

只需使用

$aa = 'hellow';
$array = str_split($aa, 1);

foreach ($array as $val) {
echo $val."<br>";
}

结果:

ħ Ë 升 升 Ø 瓦特