Php 从数组中删除元素并从0中重新索引
我有一个像上面这样的数组输出,我想从数组中删除一个元素,然后再次从0中重新索引它。我尝试在php中使用数组_值,但完成此操作后,它将删除[REF_DETAIL],其中0和TOTAL_COUNT为1,请使用php提供解决方案Php 从数组中删除元素并从0中重新索引,php,arrays,Php,Arrays,我有一个像上面这样的数组输出,我想从数组中删除一个元素,然后再次从0中重新索引它。我尝试在php中使用数组_值,但完成此操作后,它将删除[REF_DETAIL],其中0和TOTAL_COUNT为1,请使用php提供解决方案 Array ( [REF_DETAILS] = Array ( [0] = Array ( [ID] => 1231312
Array (
[REF_DETAILS] = Array
(
[0] = Array
(
[ID] => 1231312
[USER] => USER
)
[1] = Array
(
[TID] => 2754042
[USER] = USER
)
[1] = Array
(
[TID] => 534535
[USER] = USER
)
)
[TOTAL_COUNT] = 31
)
使用
阵列拼接
(),它会自动重新编制索引
阵列拼接($array['REF\u DETAILS',1,1)
使用
输出:
$arr = Array (
'REF_DETAILS' => Array(
0 => Array(
'ID' => '> 1231312',
'USER' => '> USER',
),
1 => Array(
'TID' => '> 2754042 ',
'USER' => 'USER',
),
2 => Array(
'TID' => '> 534535 ',
'USER' => 'USER',
),
),
'TOTAL_COUNT' => 31,
);
array_shift($arr['REF_DETAILS']);
print_r($arr);
如果阵列变大,解决方案非常昂贵。样本数据是不可能的。数组中的单个级别上可能不存在重复键。
$arr = Array (
'REF_DETAILS' => Array(
0 => Array(
'ID' => '> 1231312',
'USER' => '> USER',
),
1 => Array(
'TID' => '> 2754042 ',
'USER' => 'USER',
),
2 => Array(
'TID' => '> 534535 ',
'USER' => 'USER',
),
),
'TOTAL_COUNT' => 31,
);
array_shift($arr['REF_DETAILS']);
print_r($arr);
Array
(
[REF_DETAILS] => Array
(
[0] => Array
(
[TID] => > 2754042
[USER] => USER
)
[1] => Array
(
[TID] => > 534535
[USER] => USER
)
)
[TOTAL_COUNT] => 31
)