Почему следующие коды показывают ошибку неподдерживаемых типов операндов?

#php

#php

Вопрос:

Почему следующие коды показывают эту ошибку?

Xdebug: фатальная ошибка: неподдерживаемые типы операндов в C:wampwwwwordpresswp-contentthemestestthemesingle-football_league .php в строке 63.

 foreach (array_keys($team_points   $team_points2) as $key) {
        $total_points_final[$key] = (isset($team_points[$key]) ? $team_points[$key] : 0)   (isset($team_points2[$key]) ? $team_points2[$key] : 0);
    }
  

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

1. Вероятно, потому, что одна из этих двух переменных: $team_points , $team_points2 не является массивом. Каков результат: var_dump($team_points); и var_dump($team_points2); ?

2. Это хороший пример кода, который не должен использовать троичный оператор… очень трудно читать.

3. null и array (size= 1) » => int 34 соответственно.

4. null не похоже на массив, не так ли ?!

Ответ №1:

Вы пытаетесь объединить $ team_points и $ team_points2? Если это так, вам следует использовать array_merge: http://php.net/manual/en/function .array-merge.php

 foreach (array_keys( array_merge($team_points, $team_points2)) as $key) {
        $total_points_final[$key] = (isset($team_points[$key]) ? $team_points[$key] : 0)   (isset($team_points2[$key]) ? $team_points2[$key] : 0);
    }