2013-11-10 3 views
0

Мне было интересно, есть ли функция PHP, которая может проверить, существуют ли все значения одного массива в другом.Проверьте, существуют ли все элементы одного массива в другом

Так, например, у меня есть это:

$a = array ('v1', 'v3', 'v4'); 
$b = array ('v1', 'v2', 'v3', 'v4', 'v5'); 

Я хочу сравнить $a с $b. И так как все значения $a также существуют в $b, он должен вернуть true.

Есть ли эффективный способ сделать это на PHP?

+0

Самый effiecient способ прочитать Руководство по PHP –

+3

О, как я люблю запах хороших людей в утренние часы. – GolezTrol

+0

Здесь вы обращаетесь за помощью не к разработке. – AFetter

ответ

2

Использование array_diff. Он возвращает все элементы первого массива, которые не существуют во втором. Если результат пуст, все элементы будут существовать в другом массиве.

0
<?php 

$a = array('v1', 'v3', 'v4'); 
$b = array('v1', 'v2', 'v3', 'v4', 'v5'); 

function is_array_in_array($a, $b) { 
    return count($a) === count(array_intersect($a, $b)); 
} 

$test = is_array_in_array($a, $b); 

var_dump($test); 
0

Это можно легко сделать с помощью:

$result = $a === array_intersect($a, $b); 
Смежные вопросы