Сравнение 2 массивов и изменение 1 - PullRequest
0 голосов
/ 25 января 2011

Хорошо, предположим, что у меня есть 2 массива.

$ myArray = ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10');
$ badNumbers = ('3', '6', '10')

Я хочу сравнить $myArrays с $badNumbers, затем изменить $myArrays, чтобы удалить все, что найдено в $badNumbers.

Так что после некоторого кода конечный результат будет:

$ myArray = ('1', '2', '4', '5', 7 ',' 8 ',' 9 ');
$ badNumbers = ('3', '6', '10')

Есть ли в любом случае, чтобы сделать это? У меня есть некоторые вещи, но, кажется, ничего не работает. Только в части сравнения у меня уже есть некоторые проблемы.

РЕДАКТИРОВАТЬ: Я тоже хорошо с третьим массивом. Что-то в строке для каждого значения, если оно не отображается во втором массиве, array_push для нового массива. Но я все еще не уверен, как это сделать.

Ответы [ 4 ]

1 голос
/ 25 января 2011

Полагаю, функция array_diff () делает то, что вы хотите.

1 голос
/ 25 января 2011

Вы можете использовать array_diff, чтобы получить результат.

$myArray= array('1','2','3','4','5','6','7','8','9','0'); 
$badNumbers= array('3','6','0');
$available = array_diff($myArray, $badNumbers);

print_r($available);

echo '<br /><br />' . implode(', ', $available); 

Надеюсь, это поможет.

1 голос
/ 25 января 2011
$result = array_diff($myArray, $badNumbers);
echo count($result) ? 'there were differences' : 'there werent';
0 голосов
/ 12 мая 2013

Что значит "считать"? Это "эхо", как "печать"?

echo count($result) ? 'there were differences' : 'there werent';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...