php删除数组键值对
1. 删除数组元素实用的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;
}
2. 将php数组中的键名删除,但是保留键值
<?php
$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');
$arr2 = array_values($arr);
print_r($arr2);
?>
3. PHP怎么删除整个数组
举例如下:
$a=array(1,2,3);
unset($a);
就可以把整个数组删除。
删除数组和清空数组不是一个概念,删除数组之后,就是无法访问了,向上面的例子,我们unset之后, 数组就不存在了,整个$a都无法访问了。
4. 在php中怎么删除数组键值 让它变为索引数组
PHP 中的 array_values() 函数可以实现
array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。
被返回的数组将使用数值键,从 0 开始且以 1 递增。
例子
<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
print_r(array_values($a));
?>
输出:
Array ( [0] => Cat [1] => Dog [2] => Horse )
5. 怎么删除php数组中的元素
break;
case
"a2":
//根据$id来删除$strarray数组中对应键值的元素值,完成后就重新生成数组.
//大家帮我完成这部分.
//下面是我补充的
unset($strarray[$id]);
//补充结束
break;
case
"a3":
//用户把信息提交到这里,根据提交的$id与数组$strarray的键值对比,如果相同就把数组对应的元素值改变,注:其它的元素值和键位值都不变.完成后就重新生成数组.
//大家把这部分帮我完成一下
//下面是我补充的
if
(isset($strarray[$id]))
$strarray[$id]=$value;
//补充结束
break;
6. 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]);
}
}
7. php 数组元素的更改和删除问题
break;
case
"a2":
//根据$id来删除$strArray数组中对应键值的元素值,完成后就重新生成数组.
//大家帮我完成这部分.
//下面是我补充的
unset($strArray[$id]);
//补充结束
break;
case
"a3":
//用户把信息提交到这里,根据提交的$id与数组$strArray的键值对比,如果相同就把数组对应的元素值改变,注:其它的元素值和键位值都不变.完成后就重新生成数组.
//大家把这部分帮我完成一下
//下面是我补充的
if
(isset($strArray[$id]))
$strArray[$id]=$value;
//补充结束
break;
8. php如何删除多维数组中的相同值对应键值所有元素如下
对于多维数组的话,并且不清楚具体几维的话,那就只能使用foreach配合,递归进行遍历数组了。
以第一个子数组元素作为基础,存在的记录,不存在的加入基础匹配。
9. 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);