У меня есть многомерный массив с ключом uuid's
, и мне нужно нарезать / выдвигать / отменять элемент с помощью uuid (то есть, если у меня было a410463e-7fe2-4fba-8733-a812c0ee8c54
и я хотел удалить этот элемент с помощью этого uuid), чтобырезультат, по сути, тот же, за исключением одного элемента, который был удален:
array:5 [
"5fc29794-9e08-4944-ba6d-4a5fcde5c88b" => array:3 [
"id" => "5fc29794-9e08-4944-ba6d-4a5fcde5c88b"
"name" => "fuga"
"value" => 0
]
"a410463e-7fe2-4fba-8733-a812c0ee8c54" => array:3 [
"id" => "a410463e-7fe2-4fba-8733-a812c0ee8c54"
"name" => "nihil"
"value" => 0
]
"c141d973-91fe-4227-8985-04bd0665f4a8" => array:3 [
"id" => "c141d973-91fe-4227-8985-04bd0665f4a8"
"name" => "eaque"
"value" => 0
]
"17030897-1aa9-487d-a4be-d574dd0c9d9b" => array:3 [
"id" => "17030897-1aa9-487d-a4be-d574dd0c9d9b"
"name" => "eveniet"
"value" => 3
]
"901d9f8f-573f-444f-8562-0cdf5888ba6e" => array:3 [
"id" => "901d9f8f-573f-444f-8562-0cdf5888ba6e"
"name" => "in"
"value" => 6
]
]
Я знаю, как разделить на части по индексу, но у меня возникают проблемы с поиском ресурсов, как этого можно достичь.Это для phpunit
теста.Я пытался unset
, но не могу сохранить это в переменной или просто вызвать ее в утверждении:
unset($array1[$id]);
unset($array2[$id]);
Не сохраняется изменение.
$newUnchanged = unset($array1[$id]);
$oldUnchanged = unset($array2[$id]);
Выдает syntax error, unexpected 'unset'
ошибка.В конечном итоге я хочу сказать, что все неизмененные элементы остались такими же, как и до обновления одного элемента.Я также попробовал этот уродливый бизнес, который удаляет один элемент, но не правильный:
$keyOne = array_search($id, array_keys($array1), true);
$oldUnchanged = array_slice($array1, $keyOne, null, true);
$keyTwo = array_search($id, array_keys($array2), true);
$newUnchanged = array_slice($array2, $keyTwo, null, true);
// Shows that the item that I wanted to slice still exists in both arrays
dd($id, $oldUnchanged, $newUnchanged);
// ^ Causes this test to fail
$this->assertEquals($oldUnchanged, $newUnchaged);