Мне нужно сравнить два массива, и если сравнить истинный результат набора в другом массиве. У меня есть объект Developer, у которого есть поле $ skills = array(); и у меня есть некоторая логика для поиска разработчика, у которого есть навыки в arrayskills. Мне нужно сравнить 100%. Если у разработчика 10 навыков, и я сравниваю для 4 навыков и всех 4 навыков, чтобы быть в разработчике навыков - установите этого разработчика в $ arrayResults. Помогите пожалуйстаSymfony createQueryBuilder array_diff
public function findBySkills($skills)
{
$date = new \DateTime;
$qb = $this->getEntityManager()->createQueryBuilder('d');
$qb
->select('d')
->from('ArtelProfileBundle:Developer', 'd')
->getQuery();
$query = $qb->getQuery();
$results = $query->getResult();
$arrayResults = array();
foreach ($results as $result) {
if(!$result->getSkills()) {
$arrayResults[] = $result;
} else {
if (is_array($result->getSkills())) {
$find = array_diff($result->getSkills(), $skills);
}
}
}
return $arrayResults;
}
Не смотрите, что это действительно имеет отношение к Symfony. Похоже, что вы хотите, это array_intersect. – gview
Я использую symfony и эту функцию в репозитории разработчика –
Извините, мой комментарий не был заполнен. С помощью array_intersect вы получаете массив, в котором элементы пересекаются. Если вы возвращаетесь из array_intersect == $ skills, то это соответствие, основанное на том, что вы говорите. – gview