Я сравниваю результаты двух взорванных строк (результаты запроса), хотя, когда я использую array_intersect для поиска перекрытия массивов, я, к сожалению, получаю только перекрытие этих теги, которые приходят первые в каждом массиве ... например, если два массива выглядеть следующим образом:Проблема сравнения двух разросшихся php-массивов, чтобы найти перекрытие
Array1:
array(
[0]=> tag_a
[1]=> tag_b
)
array2:
array(
[0]=> tag_a
[1]=> tag_b
)
array_intersect является ОНЛ y возвращает tag_a в матче. Я ожидал, что поведение array_intersect вернет tag_a, а также tab_b.
Как вы можете видеть позже в моем коде, я использую совпадения (теги, присутствующие в обоих массивах), чтобы построить массив contactarray. Я могу построить массив OK, он просто не содержит значений, которые я ожидал бы (например: tag_b).
EDIT Я запустил несколько тестов, распечатанных contactarray, и применил различные теги к этим контактам, и только те контакты, у которых есть tag_a сперва (в массиве), возвращаются, хотя у нескольких других контактов есть tag_a, хотя это просто не первый в массиве. Мысли?
if ($frequency == 'Weekly')
{
$data['query_tag'] = $this->db->get('tags');
foreach ($data['query_tag']->result() as $row2)
{
$contact_tags = $row2->tags;
$contact_tags_exploded = explode(",", $contact_tags);
$rule_tags_exploded = explode(",", $rule_tags);
$result = array_intersect($rule_tags_exploded, $contact_tags_exploded);
if(isset($result) && count($result) != 0){
$contactarray[] = $row2->contact_name;
}
}
}
Вы проверяете, установлен ли параметр 'array_intersect' и содержит более 0 элементов. Помимо этого вы ничего не делаете с этим ... Я предполагаю, что 'tag_b' там, вы просто не используете его. – Mischa
Извините, прочитав мое сообщение снова, я был не очень ясен .... Чтобы предоставить больше контекста, я запустил несколько тестов, распечатанных contactarray, и применил различные теги к этим контактам, и только те контакты, у которых есть tag_a в первую очередь (в массиве), хотя несколько других контактов имеют tag_a, хотя это просто не первое в массиве. – mhawk
@ Миша, ты действительно обратил внимание, переформатировав свой код, ты бы заметил знак '' ', который я случайно удалил. –