При кодировании с isset
я получаю фатальную ошибку. Я искал stackoverflow, но результаты не являются удовлетворительными.
я осознаю
Неустранимая ошибка: нельзя использовать isset () в результате выражения (вместо этого вы можете использовать выражение «null! ==»)
Мои коды
if (!isset( $size || $color )) { $style = ''; }else{ $style = 'font-size : ' . $size . ';color:' . $color; }
Как указано в комментариях (и сообщении об ошибке), вы не можете передать результат выражения isset.
Вы можете использовать несколько вызовов isset или отменить логику вашего блока if / else и передать несколько параметров isset, который, по моему мнению, является самым чистым решением:
//true if both are set if(isset($size, $color)) { $style = 'font-size : ' . $size . ';color:' . $color; }else{ $style = ''; }
Вы можете очистить это немного позже, установив сначала значение по умолчанию, тем самым избегая необходимости в другом разделе:
$style = ''; if(isset($size, $color)) { $style = 'font-size : ' . $size . ';color:' . $color; }
Вы даже можете использовать троицу, которую некоторые люди находят сложнее читать:
$style = isset($size, $color) ? 'font-size : ' . $size . ';color:' . $color : '';
вы shuold используйте этот путь
if (!isset( $size ) || !isset( $color )) {
Ваше выражение всегда возвращает true или false => В теории isset всегда возвращает true, поэтому PHP не допускает этого
+ Изменить
if (!isset( $size || $color )) {
к
if (!isset($size) || !isset($color)) {