删除和重新索引数组的麻烦

时间:2015-08-09 09:50:05

标签: php mysql

我有三个相关的数组如下:

$array1 = array('item1', 'item2', 'item3');
$array2 = array('item1value', 'item2value', 'item3value');
$array3 = array('item1quantity', 'item2quantity', 'item3quantity');

有时,我需要删除数组中的特定定位键,因此必须在剩余数组中删除相同的定位键。我试过遵循逻辑:

unset($array1[0]);
array_values($array1);
unset($array2[0]);
array_values($array2);
unset($array3[0]);
array_values($array3);

我尝试使用array_shift()而不是array_values(),还有以下过程:

array_splice($array1[0]);
array_push( $cart1, 'itemnumber');
array_splice($array2[0]);
array_push($array2, 'itemvalue');
array_splice($array3[0]);
array_push($array3, 'itemqty');

在上述所有算法中,元素都被完美删除,但索引顺序混乱。

1 个答案:

答案 0 :(得分:1)

您永远不会实际保存/存储重新索引的数组。这样做:

unset($array1[0]);
$array1 = array_values($array1);
unset($array2[0]);
$array2 = array_values($array2);
unset($array3[0]);
$array3 = array_values($array3);