ДоХтор, трикс с тернарником
echo !empty($var) ?: 'пусто';
# Koenig (10.11.2015 / 10:43)
ДоХтор, трикс с тернарником
echo !empty($var) ?: 'пусто';
Я знал про альтернативный вариант, но не додумался о таком его использовании
ДоХтор, а тернарников в коде Олег налепил, раньше там if else было больше
Koenig, Затестил на локалке сокращённый тернарник, и результат не вдохновил. При истине этот код вместо значения переменной всегда возвращает единицу?
код (+/-)
$var = 'Присутствует значение';
echo !empty($var) ?: 'Отсутствует значение'; // вернёт 1 вместо строки 'Присутствует значение'
$var = false;
echo !empty($var) ?: 'Отсутствует значение';
ДоХтор, это потому что результат работы функции и эхо работает
# Koenig (10.11.2015 / 11:14)
ДоХтор, это потому что результат работы функции и эхо работает
А как тогда в этом случае получить значение переменной?
ДоХтор, ну так он решил , а те кто модят ждон, так же привыкли по примерам писать, в итоге стиль сохраняется
еще и конкатенация строками
. ///
. ///
. ///
# Koenig (10.11.2015 / 11:17)
ДоХтор, ну так он решил , а те кто модят ждон, так же привыкли по примерам писать, в итоге стиль сохраняется
еще и конкатенация строками
. ///
. ///
. ///
Да, но читать же такой код не так удобно, как if () else
ДоХтор, я по примеру так же в библиотеке наворотил, там вообще без пузыря с первого раза не разберешься
код (+/-)
else {
$child_dir = new Tree($id);
$childrens = $child_dir->get_childs_dir()->result();
$sqlsel = mysql_query("SELECT " . ($type == 'dir' ? '`id`, `parent`' : '`id`') . ", `name` FROM `library_cats` WHERE `dir`=" . ($type == 'dir' ? 1 : 0) . ' ' . ($type == 'dir' && sizeof($childrens) ? 'AND `id` NOT IN(' . implode(', ', $childrens) . ')' : ''));
$row = mysql_fetch_assoc(mysql_query("SELECT * FROM `" . ($type == 'article' ? 'library_texts' : 'library_cats') . "` WHERE `id`=" . $id));
$empty = mysql_result(mysql_query("SELECT COUNT(*) FROM `library_cats` WHERE `parent`=" . $id) , 0) > 0 || mysql_result(mysql_query("SELECT COUNT(*) FROM `library_texts` WHERE `cat_id`=" . $id) , 0) > 0 ? 0 : 1;
if (!$row) {
redir404();
}
echo '<div class="phdr"><strong><a href="?">' . $lng['library'] . '</a></strong> | '
. ($type == 'dir' ? $lng_lib['edit_category'] : $lng_lib['edit_article'])
. '</div>'
. '<form name="form" enctype="multipart/form-data" action="?act=moder&type=' . $type . '&id=' . $id . '" method="post">'
. '<div class="menu">'
. ($type == 'article' ? (file_exists('../files/library/images/big/' . $id . '.png')
? '<div><img src="../files/library/images/big/' . $id . '.png" alt="screen" />' . '</div>'
. '<div class="alarm"><a href="?act=del&type=image&id=' . $id . '">Удалить обложку</a></div>'
: '')
. '<h3>' . $lng_gal['upload_photo'] . '</h3>'
. '<div><input name="image" type="file" /></div>'
. '<h3>' . $lng['title'] . '</h3>' : '')
. '<div><input type="text" name="name" value="' . functions::checkout($row['name']) . '" /></div>'
. ($type == 'dir' ? '<h3>' . $lng_lib['add_dir_descriptions'] . '</h3>'
. '<div><textarea name="description" rows="4" cols="20">' . functions::checkout($row['description']) . '</textarea></div>' : '')
. ($type == 'article'
? '<h3>' . $lng_lib['announce'] . '</h3><div><textarea rows="2" cols="20" name="announce">' . functions::checkout($row['announce'])
. '</textarea></div>'
: '')
. ($type == 'article' && mb_strlen($row['text']) < 500000
? '<h3>' . $lng['text'] . '</h3><div>' . bbcode::auto_bb('form', 'text') . '<textarea rows="5" cols="20" name="text">' . functions::checkout($row['text'])
. '</textarea></div>'
: ($type == 'article' && mb_strlen($row['text']) > 500000
? '<div class="alarm">' . $lng_lib['large_text'] . '</div><input type="hidden" name="text" value="do_not_change" /></div>'
: ''))
. ($type == 'article'
? '<h3>' . $lng_lib['tags'] . '</h3><div><input name="tags" type="text" value="' . functions::checkout($obj->get_all_stat_tags()) . '" /></div>'
: '');
if ($adm) {
if (mysql_num_rows($sqlsel) > 1) {
echo '<h3>' . $lng_lib['move_dir'] . '</h3>'
. '<div><select name="move">'
. ($type == 'dir'
? '<option ' . ($type == 'dir' && $row['parent'] == 0
? 'selected="selected"'
: '')
. ' value="0">' . $lng_lib['root'] . '</option>'
: '');
while ($res = mysql_fetch_assoc($sqlsel)) {
if ($row['name'] != $res['name']) {
echo '<option '
. (($type == 'dir' && $row['parent'] == $res['id']) || ($type == 'article' && $row['cat_id'] == $res['id'])
? 'selected="selected" '
: '')
. 'value="' . $res['id'] . '">' . functions::checkout($res['name']) . '</option>';
}
}
echo '</select></div>';
}
echo (($type == 'dir' && $empty)
? '<h3>' . $lng_lib['category_type'] . '</h3><div><input type="radio" name="dir" value="1" '
. ($row['dir'] == 1
? 'checked="checked"'
: '') . ' />' . $lng_lib['categories'] . '</div>'
. '<div><input type="radio" name="dir" value="0" ' . ($row['dir'] == 0 ? 'checked="checked"' : '') . ' />' . $lng_lib['articles'] . '</div>' : '')
. ($type == 'dir' && $row['dir'] == 0
? '<div>' . $lng_lib['allow_to_add'] . '</div><div><input type="radio" name="user_add" value="1" '
. ($row['user_add'] == 1 ? 'checked="checked"' : '') . ' /> ' . $lng_lib['_yes'] . '</div><div><input type="radio" name="user_add" value="0" '
. ($row['user_add'] == 0 ? 'checked="checked"' : '') . ' /> ' . $lng_lib['_no'] . '</div>' : '')
. ($type == 'article' ? '<div class="' . ($row['premod'] > 0 ? 'green' : 'red') . '"><input type="checkbox" name="premod" value="1" ' . ($row['premod'] > 0
? 'checked="checked"' : '') . '/> ' . $lng_lib['verified'] . '</div>'
. '<div class="' . ($row['comments'] > 0 ? 'green' : 'red') . '"><input type="checkbox" name="comments" value="1" '
. ($row['comments'] > 0 ? 'checked="checked"' : '') . ' /> ' . $lng_lib['comment_article'] . '</div>'
. '<div class="rmenu">'
# . '<h3>' . $lng['author'] . '</h3>'
# . '<div><input type="text" name="author" value="' . functions::checkout($row['uploader']) . '" /></div>' . PHP_EOL
. '<h3>' . $lng_lib['reads']
. '</h3><div><input type="text" name="count_views" value="' . intval($row['count_views']) . '" /></div></div>' . PHP_EOL : '');
}
echo '<div class="bmenu"><input type="submit" name="submit" value="' . $lng['save'] . '" />'
. '</div></div></form>' . PHP_EOL
. '<p><a href="?do=' . ($type == 'dir' ? 'dir' : 'text') . '&id=' . $id . '">' . $lng['back'] . '</a></p>' . PHP_EOL;
}