php删除二维数组的空值并重新建立数字索引

<?php
$arr=[0=>"p",1=>"a",2=>"b",3=>"c",4=>"",5=>"d",6=>""];
$arr2=array(0=>"p",1=>"a",2=>"b",3=>"c",4=>"",5=>"d",6=>"");
$arr3=[0=>array(‘a‘,‘b‘),
1=>array(),
2=>array(‘c‘,‘2‘),
3=>array(),
4=>array(‘1‘,‘f‘),
5=>array(‘g‘,‘h‘),
];

echo is_array($arr2);//echo 1;

echo is_array($arr);//echo 1;

echo is_array($arr3);//echo 1;
$arrx=array_filter($arr3);//清除值为空的或者用回调函数筛选掉一些值
$arrx=array_values($arrx);//返回所有值并重新建立数字索引
print_r($arrx);

//Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => 2 ) [2] => Array ( [0] => 1 [1] => f ) [3] => Array ( [0] => g [1] => h ) )

//回调函数

function sele($arr){

if($arr[0]=="1"||$arr[1]=="2")
return false;
else
return true;

}
$arrx=array_filter($arr3,"sele");//二维数组变成空数组,并没有清除
$arrx=array_filter($arrx);//再次清除
$arrz=array_values($arrx);
print_r($arrz);
// Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => g [1] => h ) )

原文地址:https://www.cnblogs.com/robot-s/p/9747274.html

时间: 2024-10-27 18:43:45

php删除二维数组的空值并重新建立数字索引的相关文章

python如何二删除二维或者三维数组/列表中某维的空元素

如题,个人在使用python进行数据预处理过程中出现的问题,抽象成删除三维列表中某维为空的问题. 一.首先来看一下三维数组/列表的结构 仔细看下图就会很清楚了: 轴0即是去除第一个外括号后第一层(我把它称做第一维)有四大块: 对轴1则是对每一块来说,去掉大块的括号后的四小横条(我把它称作第二维): 对轴2则是对每一条来说,去掉小条的括号后的每一个数(从外往里数第三层括号,我就叫做第三维) 二.代码 1.删除二维数组中为空的元素则比较简单: oldlist=[[1, 1, 1, 1, 1], [1

《剑指Offer》面试题:二维数组中的查找

题目 题目:在一个二维数组中,每一行都按照从左到右的顺序进行了排序,每一列都按照从上到下进行了排序. 输入这样的一个二维数组arr和一个整数k,判断数组中是否存在这个数. 思路 由于数组时有序的这样一个前提,因此 从右上角开始查找 :如果要查找的数比右上角的值大,则查找范围删除掉(并不是实际的删除,只需要改变下标即可)这一行,如果要查找的数比右上角的值小,则查找范围删除掉这一列:这样就可以将查找范围逐渐缩小,直至完成搜索 当然也可以从右下角开始查找,但是不可以从左上角或者是左下角开始查找(因为这

剑指offer 面试题(二维数组中的查找) (2)

面试题: 二维数组中的查找 /* 题目:   在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成 一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该数. */ ps:(其实前段时间我就做过这道题,今天看到了,觉得还是有点生,那就再来一次吧) 题目分析:  在分析这个问题的时候,我们首先要看,在一个二维数组中查找一个数字是否存在,那么很多人就觉得 简单了,遍历二维数组与所需要查找的数字进行比较不就完了!  不可否认的是你说的是可行的,可是

2016/1/10 作业 1, 二维数组遍历输出求和 2,转置运算???? 3,九宫格?? 后两个存在问题

1 public class arr1 { 2 3 4 public static void main(String[] args) { 5 // 创建二维数组arr[][],输出二维数组所有元素的和. 6 7 int arr[][]={{1,3,5,7,9},{21,23,25,27,29}, 8 {12,14,16,18},{32,34,36,38}}; 9 int sum=0; 10 System.out.println("二维数组遍历"); 11 // for循环 遍历 求和

二维数组中的查找(C++和Python实现)

(说明:本博客中的题目.题目详细说明及参考代码均摘自 "何海涛<剑指Offer:名企面试官精讲典型编程题>2012年") 题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断是否含有该整数. 进一步的详细说明: 下图中的二维数组就是每行.每列都递增排序.如果在这个数组中查找数字 7,则返回 true:如果查找数字 5,由于数组不含有该数字,则返回 false. 算法设计思想 对

剑指offer:二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 题目分析:由于所给的二维数组在一定程度上是有序的,即每一行.每一列都是有序的,但是行与行之间不一定是有序的.如: 1 2 32 3 43 4 5 第二行的2和第一行的3并不是有序的.因此,如果从左上角坐标为(0, 0)开始遍历这个二维数组的话,如果当前的数字小于要查找的目标数字,那么要查找的数字就

二维数组左滑删除某一行

#pragma mark 编辑操作(删除或添加) //实现了此方法向左滑动就会显示删除(或添加)图标 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ NTContactGroup * group = _contacts[indexPath.section

jQuery$.each循环遍历详解,各种取值对比,$.each遍历数组、对象、Dom元素、二维数组、双层循坏、类json数据等等

jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合中. .children() 获得匹配元素集合中每个元素的所有子元素. .closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素. .contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点. .each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数. .end(

二维数组,矩形数组 集合

二维数组,矩形数组 集合 二维数组,矩形数组集合 一.二维数组: 一维数组----豆角 二维数组----表格 1)定义: 一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组变量名 = new 数据类型[数组长度]{1,2,3....}; 2)二维数组: 数据类型[,] 数组变量名 = new 数据类型[行数,列数]; int[,] a = new int[3,4]; 赋值: a[行下标,列下标] = 值       下标都是从0开始的 取值: a[行下标