оператор if — PHP, если переменная пуста, ничего не показывать и не отображать ошибки

я использую simple_html_dom чтобы получить ссылки с URL, но я не могу решить эту проблему, которая у меня есть.

    <?php

$title_name_lower = strtolower($title_name);

$file_headers = @get_headers($title_name_lower);

if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
echo '<center><strong style="color: #dd3333;">No links found :( </strong><center>';
}

else {

$title_url = file_get_html(''.$title_name_lower.'');

$items = array();
$items_text = array();
foreach($title_url->find('table[class=alternate_color variousfont] tr td a') as $item)  {
$items[] = $item->href.'<br>';
$items_text[] = $item->plaintext.'<br>';
}

//print_r($items_text);
//print_r($items);

$m_title_1 = file_get_html(''.$items[3].'');
$m_title_2 = file_get_html(''.$items[6].'');
$m_title_3 = file_get_html(''.$items[9].'');
$m_title_4 = file_get_html(''.$items[12].'');
$m_title_5 = file_get_html(''.$items[15].'');
$m_title_6 = file_get_html(''.$items[27].'');
$m_title_7 = file_get_html(''.$items[30].'');

$link_1 = $m_title_1->find('div[class=post-single-content box mark-links] a', 0)->href;
$link_2 = $m_title_2->find('div[class=post-single-content box mark-links] a', 0)->href;
$link_3 = $m_title_3->find('div[class=post-single-content box mark-links] a', 0)->href;
$link_4 = $m_title_4->find('div[class=post-single-content box mark-links] a', 0)->href;
$link_5 = $m_title_5->find('div[class=post-single-content box mark-links] a', 0)->href;
$link_6 = $m_title_6->find('div[class=post-single-content box mark-links] a', 0)->href;
$link_7 = $m_title_7->find('div[class=post-single-content box mark-links] a', 0)->href;
}

echo $link_1.' - '.$items_text[3];
echo $link_5.' - '.$items_text[15];
echo $link_7.' - '.$items_text[30];
?>

$items переменная может быть 100 ссылок может быть только 4, и если $items например 50 ссылок $items_text такой же (50).

Теперь, когда я эхо $link_1, $link_5, $link_7На некоторых страницах это работает, но на некоторых он показывает ошибку:

Вызов функции-члена find () для необъекта

Я не хочу показывать какие-либо ошибки. Я хочу, если переменная пуста, чем ничего не показывать.

1

Решение

Вы должны сделать что-то вроде этого, я думаю.

if (is_object($m_title_7)) {
$link_7 = $m_title_7->find('div[class=post-single-content box mark-links] a', 0)->href;
} else {
$link_7 = "";
}

Это проверит, чтобы видеть, является ли $ m_title_7 сначала объектом, и если это так, то он установит $ link_7.

редактировать добавлено еще, чтобы очистить $ link_7

1

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

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

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