我尝试使用PHP的unset()内置函数从我的PHP脚本中删除一些数组元素。
这是代码,我试过。
<?php
$my_array = array('.','..','one','two','three','four');
unset($my_array[1] , $my_array[0]);
echo '<pre>';
print_r($my_array);
echo '</pre>';
?>
然后我得到了这个输出。
Array ( [2] => one [3] => two [4] => three [5] => four )
但这不是我所期待的。我想要这样的事情。
Array ( [0] => one [1] => two [2] => three [3] => four )
我怎么能做到这一点?感谢。
答案 0 :(得分:4)
是的,这是正确的行为,如果你想重置你可以使用的密钥array_values()
$my_array = array('.','..','one','two','three','four');
unset($my_array[1] , $my_array[0]);
$my_array = array_values($my_array);
答案 1 :(得分:1)
unset($my_array[1] , $my_array[0]);
$my_array = array_values($my_array);
答案 2 :(得分:1)
使用array_shift()函数从数组中删除第一个元素(红色),并返回已删除元素的值。除了你以外,我们可以获得输出。
$a=array('.','..','one','two','three','four');
array_shift($a); //array('..','one','two','three','four');
array_shift($a); // array('one','two','three','four');
使用array_pop()函数删除数组的最后一个元素。除了你以外,我们可以获得输出。
$a=array('.','..','one','two','three','four');
array_pop()($a); // array('.','..','one','two','three');
array_pop()($a); // array('.','..','one','two');
使用此功能,每次都会从零开始索引数组。 否则使用
$a= array('.','..','one','two','three','four');
unset($a[1] , $a[0]);
print_r(array_values(a));
答案 3 :(得分:0)
$my_array = array('.','..','one','two','three','four');
unset($my_array[1] , $my_array[0]);
echo '<pre>';
print_r(array_values($my_array));
echo '</pre>';
答案 4 :(得分:0)
实际上,你可以在另一个问题中找到你的问题的答案:
rearrange array keys php
就像有人告诉我的那样,array_values会为你做到这一点。
$arr = array_values($arr);
答案 5 :(得分:0)
使用array_values
功能: