如何在数组中添加字符串var


how to add string var in array

这是我想要替换的函数:数组('管理员','作者')带有一个类似var的数组($string)所以我有一个数组从我的主题选项(从一个选择字段),它返回我需要在我的函数中的用户角色,它返回如下:

 Array ( [0] => administrator [1] => author [2] => subscriber )

I did:

 $string = "'".implode("','",$array)."'";

my function:

add_filter("login_redirect", "subscriber_login_redirect", 10, 3);
function subscriber_login_redirect($redirect_to, $request, $user) {
    if(is_array($user->roles))
      if ( count( array_diff( $user->roles, array($string) ) ) !== count( $user->roles ) ) return site_url('/wp-admin/')
    return home_url();
}

但仍然存在问题,在我的控制台日志中,字符串var返回'管理员','作者','订阅者'

谢谢你的帮助

使用explosion创建一个字符串数组

Array ( [0] => administrator [1] => author [2] => subscriber )
$string = implode(",",$array);
add_filter("login_redirect", "subscriber_login_redirect", 10, 3);
function subscriber_login_redirect($redirect_to, $request, $user) {
    if(is_array($user->roles))
      if ( count( array_diff( $user->roles, explode(",",$string) ) ) !== count( $user->roles ) ) return site_url('/wp-admin/')
    return home_url();
}

","可能不是一个很好的分隔符,使用一些很可能是唯一的东西,比如管道|或者甚至是字符串组合(比如!|!)例如)