在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我们删除一个array, unset($arr); 想删除某个元素 unsert($arr[i]) 一个陷阱是: unset() 函数允许删除数组中的某个键。但要注意数组将不会重建索引。如果需要删除后重建索引,可以用 array_values() 函数。 $a=array(1,2,3); for($i=0;$i<sizeof($a);$i++) { echo $a[$i]; } unset($a[0]); for($i=0;$i<sizeof($a);$i++) { echo $a[$i]; } 前面输出:1,2,3 后面输出: Notice: Undefined offset: 0 in F:\xampp\htdocs\php\passValueByReference.php on line 84 为什么? 因为unset($a[0])将第1个元素给删除了,但是输出时,我们还从$i=0 开始的,当然就不对了,php可不会自动调整下标的。 $a=array(1,2,3); for($i=0;$i<sizeof($a);$i++) { echo $a[$i]; } unset($a[0]); while(list($k,$v)=each($a)) { echo $k.'->'.$v."<br/>"; } 还可以用array_values输出值. <?php $a = array(1 => 'one', 2 => 'two', 3 => 'three'); unset($a[2]); /* will produce an array that would have been defined as $a = array(1 => 'one', 3 => 'three'); and NOT $a = array(1 => 'one', 2 =>'three'); */ $b = array_values($a); // Now $b is array(0 => 'one', 1 =>'three') ?> array_values() 返回 <?php 以上例程会输出: Array ( [0] => XL [1] => gold )
|
2022-08-18
2022-07-08
2022-08-17
2022-11-06
2022-08-15
请发表评论