Я делаю запрос к БД, если значения существуют, а если их нет, я вставляю в БД, иначе мне нужно выдать сообщение об ошибке. Проблема в том, что массив объектов получает нулевые значения и интерпретирует их мне как значения, поэтому не может отправить сообщение. Я пробовал пустой (массив), isset (массив), count (массив), sizeof (массив), array == undefined и array.length. Ничего не работает.
Это код при создании массива:
if(....){
} else {
while ($row = $consulta->fetch()) {
if($row['total'] == 0) {
$this->rowsFinded = [
"id" => $id,
"da" => $da,
"la" => $la,
"lo" => $lo,
"op" => $op,
"loi" => $loi
];
}
}
}
return $this->rowsFinded;
Когда я не могу найти строки, вставка в порядке. Вот что я вижу с xdebug:
if (empty($rowsFinded) || !isset($rowsFinded) || is_null($rowsFinded)) { //$rowsFinded: {[6], [6]}{2}
Но при поиске строк результатом является массив с нулевыми значениями:
if (empty($rowsFinded) || !isset($rowsFinded) || is_null($rowsFinded)) { //$rowsFinded: {[null], [null]}{2}
В чем проблема? Как решить эту проблему и показать сообщение о том, что эти строки существуют?
Благодарю вас!
empty
охватывает какisset
, так иnull
. 2) Что именно должно быть$rowsFinded
? Строка JSON? Массив? - person El_Vanja   schedule 26.11.2020empty
,isset
иnull
и результат тот же. - person BrandConstantin   schedule 26.11.2020//$rowsFinded: {[null], [null]}{2}
- что именно представляет собой содержимое переменной, как ваш код его извлекает? - person El_Vanja   schedule 26.11.2020// $ rowsFinded: {[null], [null]} {2}
— это результат работы отладчика PHPStorm (поскольку ранее были вставлены 2 одинаковые строки). Мне нужно удалить нулевые массивы. - person BrandConstantin   schedule 26.11.2020