php数组删除
① 怎么将php数组中的键名删除,保留键值
<?php
$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');
$arr2 = array_values($arr);
print_r($arr2);
?>
② php数组删除元素示例
我们来举一个例子:
复制代码
代码如下:
<?php
$arr
=
array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>
我之前想象的是unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,结果却不是那样的,最终结果是
Array
(
[0]
=>
a
[2]
=>
c
[3]
=>
d
);
如果是这样的话,那我们就来看看数字数组的形式
复制代码
代码如下:
<?php
$arr
=
range(5,10,4);
print_r($arr);//<span
style="font-family:
Simsun;font-size:16px;
">Array
(
[0]
=>
5
[1]
=>
6
[2]
=>
7
[3]
=>
8
[4]
=>
9
[5]
=>
10
)</span>
unset($arr[1]);//<span
style="font-family:
Simsun;font-size:16px;
">Array
(
[0]
=>
5
[2]
=>
7
[3]
=>
8
[4]
=>
9
[5]
=>
10
)</span>
print_r($arr);
?>
可以看到输出的形式也是数组是会填补缺少的元素的位置。那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():<pre
name="code"
class="php"><?php
复制代码
代码如下:
$arr
=
array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
//
<span
style="font-family:
Simsun;font-size:16px;
">Array
(
[0]
=>
a
[1]
=>
c
[2]
=>
d
)</span>
?>
③ php 删除二维数组数组元素
$i=1;
$j=3;//根据你的假设 设为3
//假设2维数组为 $a;
array_splice($a[$i],$j,1);
$i += 1;
array_splice($a[$i],$j,1);
④ php中删除数组中的某一些元素
array_splice函数可以删除数组中的元素(只是该函数的功能之一),array_splice用法如下:
array_splice
—
把数组中的一部分去掉并用其它值取代
array array_splice( array &$input, int $offset[, int $length = 0 [, mixed $replacement ]] )把
input
数组中由offset
和
length指定的单元去掉,如果提供了
replacement
参数,则用其中的单元取代。
input:输入的数组。
offset:如果
offset
为正,则从
input数组中该值指定的偏移量开始移除。如果
offset为负,则从
input
末尾倒数该值指定的偏移量开始移除。
length:如果省略
length,则移除数组中从offset到结尾的所有部分。
如果指定了
length并且为正值,则移除这么多单元。
如果指定了
length并且为负值,则移除从
offset
到数组末尾倒数length
为止中间所有的单元。
小窍门:当给出了replacement
时要移除从
offset到数组末尾所有单元时,用count($input)
作为
length。
replacement:如果给出了
replacement
数组,则被移除的单元被此数组中的单元替代。
示例,删除数组$inputArr的第5~10个元素(从0开始数,包括第5个和第10个,共6个元素)
array_splice($inputArr,5,6);
⑤ 怎么删除php数组中的元素
如果要在某个数组中删除一个元素,可以直接用的unset,例子代码:
<?php
$arr=array('a','b','c','d');
print_r($arr);
unset($arr[1]);
print_r($arr);
?>
以上代码输出的结果如下:
E:TEMP文件exp>a.php
Array
(
[0]=>a
[1]=>b
[2]=>c
[3]=>d
)
Array
(
[0]=>a
[2]=>c
[3]=>d
)
也就是说,删除了指定的元素,其它元素的序号是不改变的。
⑥ php 删除数组中的元素
不知道 同学知不知道 array_slice 这个函数?
$arr = array_slice($arr, 0, 3);
就可以了。
array_slice() 第一个参数是要切割的数组,第二个参数是起始位置,第三个参数是长度。
就是 切割 $arr这个数组,从第0个元素往后数3个。
array_slice 用法很灵活,可以支持负数参数,具体可以自己查看php手册。
http://cn.php.net/manual/en/function.range.php
⑦ PHP一段数组,删除其中某一行,怎么写
foreach($arrayas$k=>$v){
if($v['goodsId']=='269'){
unset($array[$k]);
}
}
⑧ php 数组删除 某一键值的项
$arr=array( 0 => 1685600,
1 => 1685548,
2 => 1685407,
3 => 1685397,
4 => 1685364,
5 => 1685326,
6 => 1685314,
7 => 1685249,
);
$b='1685397 ';
foreach ($arr as $k=>$v){
if($v==$b){
unset($arr[$k]);
}
}
⑨ php如何从数组中删除一个元素
如果要在某个数组中删除一个元素,可以直接用的unset,例子代码:
<?php
$arr
=
array('a','b','c','d');
print_r($arr);
unset($arr[1]);
print_r($arr);
?>
以上代码输出的结果如下:
E:\TEMP\文件\exp>a.phpArray(
[0]
=>
a
[1]
=>
b
[2]
=>
c
[3]
=>
d)Array(
[0]
=>
a
[2]
=>
c
[3]
=>
d)
⑩ php 一次删除多个数组元素
array_splice($a1,start,length,$a2);详情看w3school里面关于php讲解的数组里面有
而且unset不是这样用的,,,它一次只能删除一个键和值,unset($a[0]);unset($a[2]);,然后foreach循环输出