我有一个如下所示的数组
Array
(
[AllocationPool] => TEST do not USE
[Quarter] => 2016-Q4
[Segment] => Storage
[Region] =>
[SubRegion] =>
[Country] =>
[typeofrec] => 0
[TotalAllocations] => 100
[TotalTransfersOut] => 75
[TotalTransfersIn] => 0
[StartOfAllocation] => 25
[ApprovedActivities] => 0
[AvailableBalance] => 25
[TotalApprovedClaims] => 0
[Balance] => 25
[TotalUnApprovedClaims] => 0
[Exposure] => 25
)
我需要从这个数组中删除一些元素并格式化为新结构。
格式化数组后我需要更改下面的结构
Array
(
[AllocationPool] => TEST do not USE
[Quarter] => 2016-Q4
[Segment] => Storage
[Region] =>
[SubRegion] =>
[Country] =>
)
php中是否有任何方法可以使用php删除数组中的某些元素?
答案 0 :(得分:1)
使用unset()
unset($array[typeofrec]);
unset($array[TotalAllocations]);
unset($array[TotalTransfersOut]);
unset($array[TotalTransfersIn]);
unset($array[ApprovedActivities]);
unset($array[AvailableBalance]);
unset($array[TotalApprovedClaims]);
unset($array[Balance]);
unset($array[TotalUnApprovedClaims]);
unset($array[Exposure]);
答案 1 :(得分:0)
如果要从数组中删除特定元素,请使用 unset()。
unset($array[typeofrec]);
unset($array[TotalAllocations]);
....
答案 2 :(得分:0)
使用array_search获取密钥并将其删除,如果找到则取消设置:
if (($key = array_search('strawberry', $array)) !== false) {
unset($array[$key]); // This will remove the element
}
答案 3 :(得分:0)
有许多方法可用于删除数组元素:unset()
,array_filter
,array_reduce
。
一种可行的方法是:
$myArray = array_filter($myArray, function ($key) {
return in_array($key, array('AllocationPool', 'Quarter', 'Segment', 'Region', 'SubRegion', 'Country'));
}, ARRAY_FILTER_USE_KEY);
答案 4 :(得分:0)
尝试每个键
取消设置($ arr [“key”])
http://php.net/manual/en/function.unset.php
假设您的数组是$ arr,请执行
取消设置($ arr [“TotalAllocations”]); ...
如果要保留一些连续值,可以使用slice()
$ output = array_slice($ input,0,6); //保留前6个值
答案 5 :(得分:0)
您可以查看Sub ComboBox1_Change()
Dim rng As Range
Dim x As Integer
Dim y As Integer
y = 8
For x = 751 To 1000 Step 1
If Me.ComboBox1.Value = Worksheets("Data").Cells(x, y - 1).Text Then
Set rng = Worksheets("Data").Cells(x, y)
Do Until y > 36
y = y + 2
Set rng = Application.Union(rng, Worksheets("Data").Cells(x, y))
Loop
rng.Copy
End If
Next x
End Sub
(http://php.net/manual/en/function.array-filter.php)。使用此功能,您可以从数组中过滤(删除)元素。如果只提供数组参数,该函数将从数组中删除所有等于array_filter($array, $callback, $flag)
的值。如果你愿意,你可以提供一个回调函数来执行更复杂的过滤器,如果回调返回false,那么给定的项将从数组中过滤。