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);