PHP - 检查数组中的用户角色失败

我正在获取我的用户角色类型,它作为数组返回,只有 1 个项目 - 不过没问题。


$user_roles = $user_meta->roles;


array (size=1)

  0 => string 'seller' (length=6)

总是有两个潜在的值:seller和vendor。


我正在检查两者,但总是返回错误。我认为这个 in_array 没有任何问题。


if ( in_array( array( 'seller', 'vendor' ), $user_roles ) ) {

    return true;

  }

我通过放置 die(); 进行了测试。在上面的条件里面不运行,所以出于某种原因它不认为“卖方”匹配数组项。


完整代码:


function is_vendor( $user_id ) {

  $user_meta = get_userdata( $user_id );

  $user_roles = $user_meta->roles;


  if ( in_array( array( 'seller', 'vendor' ), $user_roles ) ) {

    return true;

  }


  return false;

}


翻阅古今
浏览 147回答 1
1回答

慕村9548890

你的in_array用法不对,应该是:if (in_array($user_roles[0], array( 'seller', 'vendor' ))) {    echo 'Is on array';    return true;}$user_roles 也是一个包含一个元素的数组,因此您还必须传递位置。见in_array()
打开App,查看更多内容
随时随地看视频慕课网APP