#php #arrays
#php #массивы
Вопрос:
Код:
$data = array("vanilla", "strawberry", "mango", "peaches");
print_r(array_slice($data, 1, 2));
Output:
Array
(
[0] => strawberry
[1] => mango
)
в моем случае :
$data = array("vanilla", "strawberry", "mango", "peaches");
$sub_set_data = array( "strawberry", "mango");
результатом будет оставшийся массив:
array("vanilla", "peaches");
Редактировать:
NOT array diff it look like the minus operator 7-3 = 4 or $C = $A-$B
концепция python:
>>> A = [6, 7, 8, 9, 10, 11, 12]
>>> subset_of_A = [6, 9, 12];
>>> set(A) - set(subset_of_A)
set([8, 10, 11, 7])
>>>
Что я могу сделать для этого случая?
Комментарии:
1. Непонятно, о чем вы просите, потому что
array_diff
похоже, это работает для вашего примера.2. Я обновил вопросы.концепция python
3. @IEnAk, ты пробовал
array_diff
? Я думаю, что это делает именно то, что вы хотите: возвращает все в A, чего нет в подмножестве A.4. приемлемо, но для моего случая $sub_set_data его элементы являются подмножеством $ data . Все $ sub_set_data в $data.
5. @IEnAk: Для множеств нет оператора «минус», но разница в двух множествах (здесь представленных
array_diff()
на двух массивах) — это именно то, что вы ищете. Если нет, вы должны описать, в чем дело с этим.
Ответ №1:
Похоже, вам нужно array_diff
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
Результат:
Array
(
[1] => blue
)