检查当前用户是否以特定字母开头
问题描述:
我创建了if语句来检查用户显示名称字母是以a,b或c开头的。问题是,它不仅显示这些用户,还会显示所有用户。我的if语句有什么问题?我可以做一些不同的事吗?检查当前用户是否以特定字母开头
<?php
$args = array(
'exclude' => array(1),
'order' => 'ASC',
);
$user_query = new WP_User_Query(array($args)); ?>
<?php if (! empty($user_query->results)) {
foreach ($user_query->results as $user) { ?>
<?php
$args = array(
'size' => 300,
);
$img_url = get_avatar_url($user->user_email, $args)
?>
<?php
$user_display_name = $user->display_name;
if (strtolower($user_display_name[0]) == "a" || "b" || "c" ) {
?>
<a href="<?php echo 'http://' . $user->user_login . '.domain.com' . '"'; ?>">
<div class="user" style="background-image:url(<?php echo $img_url; ?>);">
<div class="user-avatar">
<img alt="<?php echo $user->display_name; ?>" class="avatar avatar-90 photo avatar-custom" height="90" src="<?php echo $img_url; ?>">
</div>
<div class="user-info">
<h3 class="user-title"><?php echo $user->display_name; ?></h3>
<p class="user-url">
<a href="<?php echo 'http://' . $user->user_login . '.domain.com' . '">'; ?> <?php echo $user->user_login . '.domain.com'; ?></a>
</p>
</div>
</div>
</a>
<?php } ?>
<?php } ?>
<?php } else {
echo 'No users found.';
}
?>
答
你搞乱if
条件有点。
<?php
$user_display_name = $user->display_name;
$initial = strtolower($user_display_name[0]);
if ($initial == "a" || $initial == "b" || $initial == "c" ) {
....
?>
答
请学习php语法。这些条件将始终评估为真:
if (strtolower($user_display_name[0]) == "a" || "b" || "c" ) {
你需要的至少是:
if (strtolower($user_display_name[0]) == "a"
|| strtolower($user_display_name[0]) == "b"
|| strtolower($user_display_name[0]) == "c" ) {
答
如前所述穆斌,你如果语法是错误的。你也可以使用正则表达式来检查,如果用户名与|| b ||Ç
开始这里是你如何能做到这一点:如果匹配指定的模式被发现
if(preg_match('/^(a|A|b|B|c|C)/',$user->display_name))
的preg_match将返回true。给定的正则表达式将匹配任何以a,b或c开头的字符串。