我需要根据第0个位置的元素从下面的数组中删除一些项。
Big_array(256) {
[0] => array(6) {
[0] => string(4) "Data"
[1] => string(15) "Ext_EBCS01_Cota"
[2] => string(3) "CDI"
[3] => string(3) "CDI"
[4] => string(6) "IPCAdp"
[5] => string(6) "IPCAdp"
}
[1]=> array(6) {
[0] => string(10) "2014-05-05"
[1] => int(100)
[2] => int(100)
[3] => int(100)
[4] => int(100)
[5] => int(100)
}
[2]=> array(6) {
[0] => string(10) "2014-05-06"
[1] => float(99.04321866850199)
[2] => float(100.040705)
[3] => float(100.040705)
[4] => float(100.0218569233119)
[5] => float(100.0218569233119)
}
例如,Big_array
在其第0个元素上有一些重复值,它们是:
- $Big_array[0][3]
- $Big_array[0][5]
基于我需要删除的重复元素的索引:
- $Big_array[0][3]
- $Big_array[1][3]
- $Big_array[2][3]
- $Big_array[0][5]
- $Big_array[1][5]
- $Big_array[2][5]
剩下的数组应该被重新索引,并按照如下顺序排列它们的密钥:
Big_array(256) {
[0] => array(6) {
[0] => string(4) "Data"
[1] => string(15) "Ext_EBCS01_Cota"
[2] => string(3) "CDI"
[3] => string(6) "IPCAdp"
}
[1] => array(6) {
[0] => string(10) "2014-05-05"
[1] => int(100)
[2] => int(100)
[3] => int(100)
}
[2] => array(6) {
[0] => string(10) "2014-05-06"
[1] => float(99.04321866850199)
[2] => float(100.040705)
[3] => float(100.0218569233119)
有没有内置的PHP函数可以做到这一点?
我不认为有一个内置函数可以一次性完成所有操作,但您可以通过一些数组函数和foreach
循环的组合来完成:
<?php
$repeatedIndexes = array_diff_key($Big_array[0], array_unique($Big_array[0]));
foreach($Big_array as &$value) {
$value = array_values(array_diff_key($value, $repeatedIndexes));
}
unset($value);