php刪除二維數組指定元素
『壹』 用自己的語言說出php中數組的常用函數和用法
array_filter : 過濾數組中的無效元素,可以使用回調函數過濾
array_map : 使用回調函數依次處理所有元素
implode: 將一維數組轉為特定符號隔開的字元串,
explode: 將特定符號隔開的字元串轉為一維數組
sort /ksort: 將數組進行升序排序
array_unique: 將數組元素去重
array_values: 取數組的值,重新組成新數組
array_pop: 取數組末尾元素並刪除(隊列)
array_push:將一個元素插入數組末尾(隊列)
array_sum:統計數組元素的和
array_column:將二維數組中的指定KEY取出組成一個一維數組
網頁鏈接
『貳』 求教php二維數組根據某一元素刪除
<?php
$arr=array(
2=>array(
'catid'=>2,
'catdir'=>'notice',
),
5=>array(
'catid'=>5,
'catdir'=>'subject',
),
6=>array(
'catid'=>6,
'catdir'=>'news'
)
);
functionfindVal($arr,$dir){
foreach($arras$key=>$val){
if(in_array($dir,$val))
return$key;
}
}
functionarray_remove_by_key($arr,$key){
if(!array_key_exists($key,$arr)){
return$arr;
}
$keys=array_keys($arr);
$index=array_search($key,$keys);
if($index!==FALSE){
array_splice($arr,$index,1);
}
return$arr;
}
$keyz=findVal($arr,'subject');
print_r(array_remove_by_key($arr,$keyz));
?>
『叄』 php如何刪除二維中所有arr[...][0]
假設返回的數組存在鬧困汪$arr裡面,那麼可以這么做:
foreach($arras$k=>$v){
unset($arr[$k][0]);
}
//經過上面處理之後,得液仔到的$arr就是去掉了你不想要的數據之後的數組了。尺謹
『肆』 php 怎麼刪除多維數組中的元素 - 不知道鍵,只有值
對於多維數組的話,並且不清楚具體幾維的話,那就只能使用foreach配合,遞歸進行遍歷數組了。
以第一個明弊子數組元素作為基礎,存段輪在的記錄,不存在的加握槐信入基礎匹配。
『伍』 PHP怎麼刪除二維數組的空數組
PHP 刪除空數組常用解決方案:
利用foreach循環判斷來刪除為空的數組,注意:如果數組元素非常多的時候,使用循環處理效率會降低。示例如下:
<?php
//定義數組
$arr=array(
"id"=>1,
"name"=>"",
"url"=>""
);
//循環判斷
foreach($arras$k=>$v){
if(!$v){//判斷是否為空(false)
unset($arr[$k]);//刪除
}
}
print_r($arr);//Array([id]=>1[name]=>)
?>使用array_filter函數刪除。array_filter是利用回調函數來對數組進行過濾,如果沒有回調函數,那麼默認就是刪除數組中值為false的元素。示例如下:
<?php
//定義數組
$arr=array(
"id"=>1,
"name"=>"",
"url"=>""
);
//array_filter函數對數組進行過濾
$newArr=array_filter($arr);
print_r($newArr);//Array([id]=>1[name]=>)
?>
『陸』 php 刪除多維數組指定元素
foreach($data_arras$key=>$data){
if(in_array('id',array_keys($data))){
unset($data_arr[$key]['id']);
}
}
『柒』 php中如何刪除二維數組中含有指定元素的所有一維數組要求如下:
foreach( $arr as $key => $value ) {
if(in_array('w',$value)) unset($arr[$key]);
}
『捌』 刪除數組元素實用的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;
}