导航:首页 > 编程语言 > php删除一维数组

php删除一维数组

发布时间:2022-09-27 07:08:01

1. php中如何去除一个数组中的空元素

array_filter() 函数用回调函数过滤数组中的值。

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。

例如:

<?php

function test_odd($var)

{

return($var & 1);

}

$a1=array("a","b",2,3,4);

print_r(array_filter($a1,"test_odd"));

?>
运行结果:Array ( [3] => 3 )

(1)php删除一维数组扩展阅读:

循环遍历数组,把有值的元素放进一个新数组中。

$arr = array();

foreach ($urlArr as $key => $val) {

if (empty($val)) {continue;}

$arr[] = $val;

}

$arr是去除空元素的新数组。

2. 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)

3. php 删除多维数组指定元素

foreach($data_arras$key=>$data){
if(in_array('id',array_keys($data))){
unset($data_arr[$key]['id']);
}
}

4. php 怎么删除第一个数组

删除第一个数组:unset($arr[0]);

删除数组第一元素
$arr1=array('apple','banana','orange');
$result1=array_shift($arr1);
print_r($result1);
print_r($arr1);

5. php如何删除两个数组中相同的元素

首先,我看到这个问题中描述是“如何删除两个数组中相同的元素”,虽然那个人写了一大堆,竟然用的是array_unique(),从分析到给出的demo一直在解决如何删除“一个”数组中“重复”的元素。汗!答非所问的答案竟然会被采纳。

这里,简单分析一下提问者的真实意图,分以下2种情况:

1.现在有2个一维数组, $arr1和$arr2,现在要删除 $arr1 中存在于 $arr2 的元素。

解决方案:使用array_diff对比返回在 array1 中但是不在 array2 及任何其它参数数组中的值,代码如下:

<?php
$arr1=array(1,2,3,4);
$arr2=array(2,4);
//这一句即可
$arr1=array_diff($arr1,$arr2);
var_mp($arr1);

2.先声明一下,我看了lt318025大神给出的答案,他的思维非常活跃,已经分了2种情况。

现在有2个一维数组,$a和$b,即删除$a中存在于$b的元素,删除$b中$a存在的元素,组后合并返回。

可是lt318025大神用的PHP版本太高,给出的demo在低版本PHP下运行失败,这里修正一下:

<?php
$a=array(1,2,3);
$b=array(2,3,4);
//得到存在于$a但不存在于$b中的元素组成的数组
$c=array_diff($a,$b);
//这里简单求出在$a但不在$b中的元素
var_mp($c);

//得到存在于$a但不存在于$b中的元素组成的数组与存在于$b但不存在于$a中的元素组成的数组的并集
$d=array_merge(array_diff($a,$b),array_diff($b,$a));
//这里彻底剔除了同时存在于$a和$b中的元素
var_mp($d);

究竟是哪一种情况,这需要看提问者的需求了。

6. php中一维或多维数组去除重复项

方案一
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$arr1 = array_flip($arr);
$arr2 = array_flip($arr1);
print_r($arr2);
方案二
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$a = array_count_values($arr);
$b = array_keys($a);
print_r($b);
方案三
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
foreach($arr as $k=>$v){
$arr1[$v] = $k;
$arr2 = array_flip($arr1);
}
print_r($arr2);
方案四
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$arr1 = array_unique($arr);
print_r($arr1);

都是刚刚我实验出来的 都可以封装起来用递归实现多维去掉重复项

7. php中如何删除二维数组中含有指定元素的所有一维数组要求如下:

foreach( $arr as $key => $value ) {
if(in_array('w',$value)) unset($arr[$key]);
}

8. PHP数组问题,怎么把array去掉,变成一维数组

举个例子吧,以下面的代码为例,将其变成一维数组。
$msg = array(
array(
'id'=>'45',
'name'=>'jack'
),
array(
'id'=>'34',
'name'=>'mary'
),
array(
'id'=>'78',
'name'=>'lili'
),
);
第一种方法:
复制代码 代码如下:
foreach($msg as $k => $v){
$ids[] = $id;
$names[] = $name;
}
第二种方法:
复制代码 代码如下:
$ids = array_column($msg, 'id');
$names = array_column($msg, 'name');
以上两种解法print_r($names);后的结果为:
复制代码 代码如下:
Array(
[0]=>jack
[1]=>mary
[2]=>lili
)
注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id');
print_r($n);的结果为:
复制代码 代码如下:
Array(
[45]=>jack
[34]=>mary
[78]=>lili
)

9. php删除数组中的一个元素,其他元素的顺序会改变吗

顺序的话,少了一个肯定向前啊。
如果是键值,那么键值也不会改变。
(好像你在排队一下,少一个人肯定后面的向前走,不会出现什么顺序打乱之类的。)

如果你用的特定函数,比如array_shift() 函数的话(并且键值是自己设定的话,就不会改变键名;如果自动生成,会帮你重新排列键名,顺序不管怎么样都不会打乱,最多就是键名打断;除非这个函数说了,会随即打乱排序,那就会打乱咯。)

-----------
不采纳?我继续补充~

例如:
键值:1 2 3 4 5
对应:A B C D E
如果我用unset 删除了键值为4的D,那么,数组的排序就是:
键值:1 2 3 5
对应:A B C E
也就是少了一个数

如果这回我用的array_shift()函数删除键值为4的D,结果就是:
键值:0 1 2 3
对应:A B C E
它自动从0开始把键值重新排序。

如果不出意外的情况下,键值是直接对应具体的值的。也就说,键值位置的改变,值也会设置而变。

求采纳T_T

阅读全文

与php删除一维数组相关的资料

热点内容
毛选pdf 浏览:653
linuxexecl函数 浏览:725
程序员异地恋结果 浏览:372
剖切的命令 浏览:226
干什么可以赚钱开我的世界服务器 浏览:288
php备案号 浏览:988
php视频水印 浏览:165
怎么追程序员的女生 浏览:486
空调外压缩机电容 浏览:77
怎么将安卓变成win 浏览:457
手机文件管理在哪儿新建文件夹 浏览:724
加密ts视频怎么合并 浏览:775
php如何写app接口 浏览:804
宇宙的琴弦pdf 浏览:396
js项目提成计算器程序员 浏览:944
pdf光子 浏览:834
自拍软件文件夹名称大全 浏览:328
程序员留学移民 浏览:52
梁中间部位箍筋加密区 浏览:119
频谱分析pdf 浏览:752