Почему ошибка с with (($ x = $ y) [‘abc’] == ‘test’)?

У меня есть следующий код:

if (mysqli_num_rows($result) && ($value = mysqli_fetch_array($result))['id'] != $id)

И я получаю следующую ошибку:

$ Parse error: синтаксическая ошибка, неожиданное ‘[‘ в […]

Но я не понимаю, в чем суть!

if (mysqli_num_rows($result) && mysqli_fetch_array($result)['id'] != $id)

это работает нормально, но я хочу сохранить результат mysqli_fetch_array, И я подумал, что это легко возможно без второго If-Clause.

0

Решение

Ваша скобка в странном месте:

if (mysqli_num_rows($result) && ($value = mysqli_fetch_array($result))['id'] != $id)

Должно быть:

if (mysqli_num_rows($result) && ($value = mysqli_fetch_array($result)['id']) != $id)

Или … я не уверен, что это позволит избежать синтаксической ошибки, но если вы пытаетесь сохранить все результаты, попробуйте это:

if (mysqli_num_rows($result) && (($value = mysqli_fetch_array($result))['id']) != $id)

Я добавил еще больше скобок, надеясь, что принудительный порядок операций прояснит ситуацию для интерпретатора.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]