删除数组元素实用的PHP数组函数_php技巧

/**
* 从数组中删除空白的元素(包括只有空白字符的元素)
*
* @param array $arr
* @param boolean $trim
*/

复制代码 代码如下:

function array_remove_empty(& $arr, $trim = true)
{
foreach ($arr as $key => $value) {
if (is_array($value)) {
array_remove_empty($arr[$key]);
} else {
$value = trim($value);
if ($value == '') {
unset($arr[$key]);
} elseif ($trim) {
$arr[$key] = $value;
}
}
}
}

/**
* 将一个二维数组转换为 hashmap
*
* 如果省略 $valueField 参数,则转换结果每一项为包含该项所有数据的数组。
*
* @param array $arr
* @param string $keyField
* @param string $valueField
*
* @return array
*/

复制代码 代码如下:

function array_to_hashmap(& $arr, $keyField, $valueField = null)
{
$ret = array();
if($valueField) {
foreach ($arr as $row) {
$ret[$row[$keyField]] = $row[$valueField];
}
} else {
foreach($arr as $row) {
$ret[$row[$keyField]] = $row;
}
}
return $ret;
}

时间: 2024-12-27 09:55:48

删除数组元素实用的PHP数组函数_php技巧的相关文章

PHP去除数组中重复的元素并按键名排序函数_php技巧

1.此函数的作用:去除数组中重复的元素并按键名排序 function assoc_unique($arr, $key) { $tmp_arr = array(); foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } sort($arr); return $arr; } 使用例子: $aa = array( array(

JavaScript中关于for循环删除数组元素内容时出现的问题_javascript技巧

昨天用for循环进行数组去重的时候出现的问题, 首先,用双重for循环把前一个和所有后面的元素进行比较,如果相等则删除. 但是,如果数组里面有三个以上连续相等的元素的时候,就会出现问题. var arr = [1,1,1,2,2]; for(var i=0; i<arr.length-1; i++){ for(var j=i+1; j<arr.length; j++){ if(arr[i] === arr[j]){ arr.splice(j,1); } } } document.write(&

php获取数组元素中头一个数组元素值的实现方法_php技巧

本文实例讲述了php获取数组元素中头一个数组元素值的实现方法.分享给大家供大家参考.具体如下: 在php的内置函数中,获取数组元素值的函数主要有 reset next current prev end 这几个函数. reset (PHP 3, PHP 4, PHP 5) 函数定义:mixed reset ( array &array ) 作用:该函数将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE,代码如下: 复制代码 代码如下: $array=

php对数组内元素进行随机调换的方法_php技巧

本文实例讲述了php对数组内元素进行随机调换的方法.分享给大家供大家参考.具体分析如下: 这是一个自定义的php数组元素随机调换的函数,php已经有一个内置的同样功能的函数shuffle($Array),这个代码权当参考 // I noticed that there is already a built-in function that // does the same - so don't use mine ;-) // // --> shuffle($Array); // // http:

php中删除数组的第一个元素和最后一个元素的函数_php技巧

对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. (1)使用 array_pop 删除数组的最后一个元素,例如: $user=array('apple','banana','orange'); $result=array_pop($user); print_r($result); print_r($user); 结果将是: orange array(

php数组中删除元素之重新索引的方法_php技巧

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 复制代码 代码如下: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是 array_splice(

解析PHP中数组元素升序、降序以及重新排序的函数_php技巧

1,快速创建数组的函数range()比如range()函数可以快速创建从1到9的数字数组: 复制代码 代码如下: <?php $numbers=range(1,9);echo $numbers[1];?> 当然,使用range(9,1)则创建了9到1的数字数组.同时,range()还可以创建从a到z 的字符数组: 复制代码 代码如下: <?php $numbers=range(a,z);foreach ($numbers as $mychrs)    echo $mychrs."

约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数_php技巧

来看看这个问题的详细描述: view sourceprint?一群猴子排成一圈,按 1,2,...,n 依次编号.然后从第 1 只开始数,数到第 m 只,把它踢出圈,从它后面再开始数, 再数到第 m 只,在把它踢出去...,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王.要求编程模拟此过程,输入 m.n, 输出最后那个大王的编号. 刚开始构思的时候想使用 PHP 数组来实现(当然最后还是使用的数组),然后模拟一个数组的内部指针,结果发现想模拟一个"数组指针"不是那

php array_walk() 数组函数_php技巧

复制代码 代码如下: /*函数array_walk():单一数组回调函数---对数组中的每个成员应用用户函数 * 1.语法:bool array_walk ( array &array, callback funcname [, mixed $userdata] ) * 2.描述:如果成功则返回 TRUE,失败则返回 FALSE * 3.注意事项: * 3.1.$funcname是用户自己 定义的回调函数,接受2个参数,第一个参数为数组$array的值,第二个参数为 * 数组$array的键名,