[英]How to unset rest of element except then one index in array
有一個我想取消設置其余元素的數組,但數組中只有一個索引
數組
$array = Array ( "Result" => Array ( "ResponseStatus" => 1, "Hotels" => Array ( Array ( "Rating" => 1, "Description" => "Description1" ), Array ( "Rating" => 2, "Description" => "Description2"), Array ( "Rating" => 4, "Description" => "Description3") ) ) );
就像我只想保留$ array ['Result'] ['Hotels'] [1]並保留其余索引
想要輸出
Array
(
[Result] => Array
(
[ResponseStatus] => 1
[Hotels] => Array
(
[1] => Array
(
[Rating] => 2
[Description] => Description2
)
)
)
)
我已經試過了
$arrayKey = 1;
foreach ($array['Result']['Hotels'] as $key => &$value) {
if (!$key == $arrayKey) {
unset($value[$key]);
}
}
我只是將所需的元素從數組中復制出來,而忘記了原始數組。
$arrayKey = 1;
foreach ($array['Result']['Hotels'] as $key => &$value) {
if ($key != $arrayKey) {
unset($value[$key]);
}
}
您可以使用array_intersect_key函數創建具有所需鍵(鍵)的數組。 在這種情況下[1=>null]
;
$array['Result']['Hotels'] = array_intersect_key($array['Result']['Hotels'], [1=>null]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.