PHP: не равно не вступит в силу

#php #if-statement #operators #advanced-custom-fields

#php #if-statement #операторы #дополнительно-пользовательские-поля

Вопрос:

У меня возникли проблемы с простым оператором not equal to, который по какой-то причине не вступает в силу.

Создал серверную часть поля, которая возвращает определенный идентификатор пользователя при get_current_user_id(); также возвращает идентификатор пользователя. Я пробовал echo bot $user и $current, где они оба возвращают идентификатор пользователя 9, как и ожидалось, для моего тестового пользователя.

Поскольку они $current и $user возвращают один и тот же идентификатор пользователя, содержимое не должно отображаться, но по какой-то причине это происходит. Я использую != в качестве оператора PHP для «Не равно» — чего мне не хватает?? Смотрите код ниже:

 $user = get_field("user");
$current = get_current_user_id();

if( in_array( "bestyrelsevalg", $row['bestyrelse'] ) amp;amp; $user != $current )
  

Комментарии:

1. Неправильные скобки, ваша amp;amp; часть находится внутри in_array . Изменить на if( in_array( "bestyrelsevalg", $row['bestyrelse']) amp;amp; $user != $current )

2. wooops… Я изменил его, но не повезло: (

3. 2-й аргумент функции in_array должен быть массивом. Является ли переменная $row[‘bestyrelse’] массивом?

4. ДА… Часть массива работает так, как ожидалось. Использовал код в течение многих лет, но сейчас пытается реализовать оператор «не равно», чтобы исключить пользователей из просмотра содержимого. Но пока не повезло.

5. @francisconeto прав, нам нужно посмотреть, какие ваши условия на самом деле сравниваются, поэтому вставьте var_dump из двух переменных — одна ошибка здесь, может быть, f.x, что ваше поле ACF установлено для возврата объекта вместо идентификатора