Intereting Posts
Изменить действие формы на опции выбора В таблице нет столбцов с использованием графиков Google Как сделать даты синтаксиса strtotime в формате австралийского (т.е. Великобритании): dd / mm / yyyy? Получить ближайшую дату из таблицы MySQL Передача специальных символов с php на javascript Объединение данных с разных методов SOAP PHP cURL не загружает 64-битную Windows 8 Примеры уязвимого кода PHP? Кэшировать только часть страницы в PHP добавьте класс в определенную строку в codeigniter, используя класс таблицы CakePHP перенаправляет ошибку Остановка запроса MySQL после первой строки Как отключить PHP, отсекая части длинных аргументов в трассе стека исключений? doctrine2 queryBuilder должен возвращать только соответствие результата с значениями массива (ids): 0 / Null и / или один и / или многие id (ы) должны возвращать один результат Обнаруживать, является ли stdin устройством tty (терминал) или трубой в PHP?

Как получить общие значения из двух разных массивов в PHP

У меня есть два массива с идентификатором пользователя

$array1 = array("5","26","38","42"); $array2 = array("15","36","38","42"); 

Что мне нужно, мне нужны общие значения из массива следующим образом

 $array3 = array(0=>"38", 1=>"42"); 

Я попробовал array_intersect() . Я хотел бы получить метод, который занимает минимальное время выполнения. Пожалуйста, помогите мне, друзья.

Related of "Как получить общие значения из двух разных массивов в PHP"

Родные функции PHP быстрее, чем пытаться создать собственный алгоритм.

 $result = array_intersect($array1, $array2); 

Используйте этот, хотя это может быть длинный метод:

 $array1 = array("5","26","38","42"); $array2 = array("15","36","38","42"); $final_array = array(); foreach($array1 as $key=>$val){ if(in_array($val,$array2)){ $final_array[] = $val; } } print_r($final_array); 

Результат: Массив ([0] => 38 [1] => 42)

Я думаю, вам не нужно использовать значение $key=>$value для вашей проблемы, поэтому проверьте этот ответ:

 <?php $array1 = array("5", "26", "38", "42"); $array2 = array("15", "36", "38", "42"); foreach ($array1 as $value) { if (in_array($value, $array2)) { $array3[] = $value; } } print_r($array3); ?> 

array_intersect () работает отлично.

array array_intersect (массив $ array1, array $ array2 [, array $ …])

 $array1 = array("5","26","38","42"); $array2 = array("15","36","38","42"); echo array_intersect($array1, $array2); 

http://fr2.php.net/array_intersect