Stack Overflow на русском Asked on December 19, 2021
Доброе время суток, есть массив $categories
Array (
[0] => Array (
[category_id] => 1
[item_id] => 63
[qualification_category_id] => 0
)
[1] => Array (
[category_id] => 3
[item_id] => 63
[qualification_category_id] => 1
)
[2] => Array (
[category_id] => 4
[item_id] => 63
[qualification_category_id] => 0
)
)
и есть id категории, ее нужно проверить на существование в массиве…
2 дня мучаюсь эффекта 0
if (array_key_exists('2', $categories)) {
$json['isset '] = true;
} else {
$json['isset '] = false;
}
Вот этот вариант почему то не сработал (
array_key_exists() ищет ключи только на первом уровне массива. Внутренние ключи в многомерных массивах найдены не будут. php.net
$json['isset'] = in_array('2', array_column($doctor_categories, 'doctor_category_id')); // true 1/false 0
Answered by Kirill on December 19, 2021
Попробуйте так:
<?php
$search_category_id = 2;
$found = array_filter($doctor_categories, function($doctor) use ($search_category_id){
return $doctor["doctor_category_id"] == $search_category_id;
});
$has_category = !empty($found); // true - есть, false - нету
print_r($found); // Все у кого категория = 2
Answered by Давид Манжула on December 19, 2021
function hasEqualProp($array, $prop, $value) {
foreach ($array as $subarr) {
if (isset($subarr[$prop]) and $subarr[$prop] == $value) {
return true;
}
}
return false;
}
-----
if (hasEqualProp($doctor_categories, 'doctor_category_id', '2')) {
echo 'found';
} else {
echo 'not found';
}
Answered by NoSkill on December 19, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP