#php
#php
Вопрос:
Мне нужно проверить, существует ли какое-либо значение ключа в массиве с использованием PHP. Вот мой код:
$comment = json_encode(array(array('day_id' => '1', 'comment' => 'vodka0'),array('day_id' => '', 'comment' => ''), array('day_id' => '3', 'comment' => 'vodka3'),array('day_id'=>'4','comment'=>'hytt')));
$arrComment = json_decode($comment, true);
Здесь мне нужно проверить, имеет ли какой-то day_id
ключ значение или все day_id
ключи имеют пустое значение.
Ответ №1:
Используйте array_column
и array_filter
, чтобы проверить это:
// extract all day_id columns
$dayId = array_column($arrComment, 'day_id');
// filter the empty values
$filtered = array_filter($dayId);
if (empty($filtered)) {
echo "All Day Ids are empty.";
}
else {
echo "Some or all of them have some value.";
}
Ответ №2:
Вы имеете в виду это: var_dump(array_column($arrComment, 'day_id'));
Он возвращает все значения day_id
ключа. А теперь делай, что хочешь.
Комментарии:
1. Мне нужно проверить это внутри
if...else
заявления.2. Ok приведенный выше код предоставит вам массив
day_id
значений. Теперь отфильтруйте свой массив с помощью$someVar = array_filter($values)
.array_filter()
удаляет пустое значение. Если все они пусты$someVar
, переменная будет пустой. Надеюсь, вы получили свой ответ. Я могу дать вам идею, и вы получите свои подсказки. Теперь напишите свой код. Вы получите ожидаемый результат. Счастливого кодирования.
Ответ №3:
for ($i = 0; $i < count($arrComment); $i ) {
if (isset($arrComment[$i]['day_id'])) {
//value is set
} else {
//value is not set
}
}
Комментарии:
1. Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для читателей в будущем, и эти люди могут не знать причин вашего предложения по коду.