检查当前用户是否以特定字母开头

检查当前用户是否以特定字母开头

问题描述:

我创建了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开头的字符串。