#php #arrays #select #null
#php #массивы #выберите #null
Вопрос:
Я обновил свою версию PHP до 7.4, и эта ошибка начала появляться впоследствии. Ошибка отображается в параметрах в <выбранном теге, когда я пытаюсь сохранить данные даже после обновления страницы.
<?PHP
$posts = filter_input_array(INPUT_POST, FILTER_DEFAULT);
?>
<form method="post" name="create_posts">
<label>Categories available</label>
<select name="category_id" class="select_list">
<option value="null">Pick a category: </option>
<?PHP
$readCategs= new Read();
$readCategs->query("SELECT DISTINCT ca.id AS cat_id,
ca.title AS title, ca.content AS content
FROM categories ca LEFT JOIN posts p ON p.cat_id = ca.id
ORDER BY title ASC");
//var_dump($readCategs);
if(!$readCategs->getResult()):
echo "<a href='create_category'><option disabled='disabled'>
There are no categories</option></a>";
else:
foreach($readCategs->getResult() AS $categs):
echo "<option value="{$categs['cat_id']}" class='options' ";
if($posts['category_id'] == $categs['cat_id']):
echo 'selected="selected" ';
endif;
echo ">{$categs['title']}</option>";
endforeach;
endif;
?>
</select>
</form>````
The error shows on the "if($posts['category_id'] == $categs['cat_id']):" line
Ответ №1:
Имеет тенденцию предполагать, что либо $posts, либо $categors являются нулевыми или не являются массивом. Попробуйте выполнить следующее, чтобы показать, что не является массивом var_dump($posts); var_dump($categs);
Вы можете проверить наличие массива с помощью is_array
Комментарии:
1. Что ж, ваше предложение не сработало, но я очень старался заставить его работать, и это сработало!! Вот что я добавил: в «if($posts[‘category_id’] == $categors[‘cat_id’]):«` , я просто помещаю это условие внутри другого, if(isset($posts[‘$category_id)): if($posts[‘category_id’] == $categors[‘cat_id’]): endif; Оказывается, он будет сравнивать $posts[‘category_id] с $categors[‘cat_id’] только тогда, когда в массиве $posts есть значения. Проблема заключалась в том, что в этом массиве не было значения, КОГДА происходило сравнение. В любом случае, я ценю вашу поддержку, партнер. Спасибо