Я выполняю цикл $array
, где я включаю только результаты с соответствующей ролью пользователя (от пользователей Wordpress).
У меня есть цикл:
// custom function that returns the user's role (administrator, reader, etc)
$userRole = get_current_user_role();
foreach( $location_array as $key => $location ) {
if( in_array( $userRole, $location['c'] ) ) {
// do the things
echo '<div style="width: calc( 100vw / ' . count($array) . ');">';
echo $location['a'];
echo '</div>';
}
}
При составлении $array
:
Array (
[1] => Array (
[a] => Location 1
[b] => loc04
[c] => Array ( [administrator] => administrator )
)
[2] => Array (
[a] => Location 2
[b] => loc23
[c] => Array ( [administrator] => administrator, [publisher] => publisher )
)
[3] => Array (
[a] => Location 3
[b] => loc12
[c] => Array ( [publisher] => publisher, [viewer] => viewer )
)
)
Однако, когда я пытаюсь получить счетчик $array
, он возвращает число всех $key
, и я не знаю, как сузить его до тех, которые только из in_array( $userRole, $location['c']
Я попытался поместить in_array( $userRole, $location['c']
из цикла в переменную, а затем вывести его, но у меня не было никакого успеха, кроме как вернуть значение 1, но для администратора было два совпадения