我想检测字符串 AZ 的起始字母
目前我正在使用循环显示数据,该循环显示从a 到 z 的数据
现在我想在循环中检测以字母“a”开头的数据
这可能使用PHP吗?
我想要同样的http://cdn.ihwy.net/ihwy-com/labs/demos/jquery-listnav.html使用 PHP
实际上,我想在为每个字母(b,c,d .....z)打印“a”字母数据等之后添加“清除”名称类
我想检测字符串 AZ 的起始字母
目前我正在使用循环显示数据,该循环显示从a 到 z 的数据
现在我想在循环中检测以字母“a”开头的数据
这可能使用PHP吗?
我想要同样的http://cdn.ihwy.net/ihwy-com/labs/demos/jquery-listnav.html使用 PHP
实际上,我想在为每个字母(b,c,d .....z)打印“a”字母数据等之后添加“清除”名称类
如果所有类别都存储在数组中,这应该可以工作
//Define the first letter that you want to focus on
$letter = 'b';
//Store all items in an array
$categories = array('Books', 'Marketing', 'TV', 'Radio', 'Computers');
//Loop thru
for($i=0;$i<count($categories);$i++)
{
//This might be case sensitive, so lower the items and get the first letter of it
if(strtolower(substr($categories[$i], 0, 1)) == $letter)
{
echo $categories[$i].'<br />';
}
}
或者,如果您将它们全部存储在 MySQL 中
//Connect to MySQL
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
//Query the DB for all categories beginnng with a particular letter
$query = "SELECT * FROM table WHERE category LIKE '".$letter."%'";
$result = mysqli_query($link, $query);
$count = mysqli_num_rows($result);
$i = 0;
while ($row = mysqli_fetch_assoc($result)) {
$categories[$i] = $row['category'];
$i++;
}
//Loop thru
for($i=0;$i<$count;$i++)
{
echo $categories[$i].'<br />';
}
您产生的效果与您提供的链接上显示的效果完全相同,您需要的不仅仅是 PHP;你也需要JS。但是,这是另一项任务。
如果您使用的是 MySQL 之类的存储引擎,您应该在结果之前对数据进行排序,例如:
SELECT * FROM table WHERE name LIKE 'a%'
如果您正在使用内存,您可能想要使用某种过滤器功能:
$a = [];
foreach ($data as $i => $v)
if ($v{0} == "a") $a[] $v;
// $a now contains everything on a*
排序结果:
natsort($a);
是的,有几种方法,一个非常简单的方法是检查字符串中的第一个字母:
foreach($lines as $line) {
if($line[0] == "a") {
echo $line
}
}
如果你想更花哨,你可以使用preg_match来做同样的事情:
foreach($lines as $line) {
if(preg_match("/^a.*/", $line) {
echo $line
}
}