Если значение пусто то берем прошлое

150
04 апреля 2018, 08:37

Как реализовать что-бы при цикли если значение пустое нужно взять его из прошлого раза

$table = $html_product->find('#product_teh tbody',0);
$html = str_get_html($table);
$rows = $html->find("tr");
$rcount = count($rows);
for($idx = 0; $idx < $rcount; $idx+=2){
    $name = $rows[$idx]->find("td.feature_block_name",0)->plaintext;
    $fname  = $rows[$idx + 1]->find("td.feature_name",0)->plaintext;
    $fvalue = $rows[$idx + 1]->find("td.feature_value", 0)->plaintext;
    $theData[] = $name."|".$fname."|".$fvalue;
}
$theData = implode($theData,PHP_EOL);

Вот что сейчас получаю

Конструкция|Дисплей|Есть
Основные|Вид|газовый
|Камера сгорания|закрытая
|Объем бака|8 л
|Теплообменник|Есть
|Тип подогрева горячей воды|проточный

Вот что нужно получить

Конструкция|Дисплей|Есть
Основные|Вид|газовый
Основные|Камера сгорания|закрытая
Основные|Объем бака|8 л
Основные|Теплообменник|Есть
Основные|Тип подогрева горячей воды|проточный
Answer 1
$name = $rows[$idx]->find("td.feature_block_name",0)->plaintext ?: $name; 

Это синоним такого выражения:

if ($rows[$idx]->find("td.feature_block_name",0)->plaintext) {
    $name = $rows[$idx]->find("td.feature_block_name",0)->plaintext;
} else {
    $name = $name;
}
READ ALSO
TCPclient таймаут соединения

TCPclient таймаут соединения

Как на стороне сервера можно обработать таймаут клиентов, когда тот "тихо" вырубается? На стороне клиента решил эту проблему, если сервер...

191
Некорректное отображение DataGridView

Некорректное отображение DataGridView

Создала приложение которое добавляет строчки в DataGridView по событиям одновременно задается раскраска

210
Как установить AvalonDock?

Как установить AvalonDock?

Пытаюсь прикрепить AvalonDock к проектуТам архив в котором архив с source code, как собрать и использовать в WPF проекте?

164
Tlsharp ConnectAsync

Tlsharp ConnectAsync

Когда я вызываю clientConnectAsync() моя программа останавливается

223