本文目錄一覽:
- 1、php中我想要把二維數組中的某一個鍵名取出來該怎麼辦
- 2、php如何循環刪除二維數組中的元素
- 3、php二維數組處理,並重置索引。。
- 4、PHP二維數組如何實現去除重複項
- 5、php二維數組去掉外面的key
- 6、求教php二維數組根據某一元素刪除
php中我想要把二維數組中的某一個鍵名取出來該怎麼辦
假設這個數組為$arr
新數組為$new_arr = array();
foreach($arr as $k=$v)
{
$new_arr[$k] = $v-news_title;
}
var_dump($new_arr);
php如何循環刪除二維數組中的元素
PHP 中的 unset() 函數可以實現
unset() 函數用來清除、銷毀變量,不用的變量,我們可以用unset()將它銷毀。
與刪除一維數組的原理一樣
數組的話,通過數組的鍵名來刪除對應的元素
例如:
?php
$array = array(‘a’=array(‘a1′,’a2’),’b’=array(‘b1′,’b2’));
foreach($array as $key=$value){
if($key == ‘a’)[
unset($array[$key]);
}
//或者刪除二維數組中二維中的元素
if($key == ‘a’)[
unset($array[$key][0]);
}
}
print_r($array);
?
php二維數組處理,並重置索引。。
直接用 array_flip 或者 array_unique 是不行的,你這沒有鍵名,必須要自己寫函數
?php
function unique_arr($array2D,$stkeep=false,$ndformat=true)
{
// 判斷是否保留一級數組鍵 (一級數組鍵可以為非數字)
if($stkeep) $stArr = array_keys($array2D);
// 判斷是否保留二級數組鍵 (所有二級數組鍵必須相同)
if($ndformat) $ndArr = array_keys(end($array2D));
//降維,也可以用implode,將一維數組轉換為用逗號連接的字符串
foreach ($array2D as $v){
$v = join(“,”,$v);
$temp[] = $v;
}
//去掉重複的字符串,也就是重複的一維數組
$temp = array_unique($temp);
//再將拆開的數組重新組裝
foreach ($temp as $k = $v)
{
if($stkeep) $k = $stArr[$k];
if($ndformat)
{
$tempArr = explode(“,”,$v);
foreach($tempArr as $ndkey = $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
}
else $output[$k] = explode(“,”,$v);
}
return $output;
}
$arr = array(
0 = array
(
0 = 1,
1 = 2
),
1 = array
(
0 = 1,
1 = 2
),
2 = array
(
0 = 2,
1 = 3
),
3 = array
(
0 = 2,
1 = 3
),
4 = array
(
0 = 3,
1 = 4
),
5 = array
(
0 = 3,
1 = 4
),
);
var_dump( array_values(unique_arr( $arr )) );
去重函數可參考:
.
PHP二維數組如何實現去除重複項
PHP數組去除重複項有個內置函數array_unique(),但是php的array_unique函數只適用於一維數組,對多維數組並不適用,不過你可以在二維數組中的值,用array_unique()即可。
比如:
$array = array(array(1,1,2),array(2,3,4,3));
$temp_array = array();
foreach($array as $key=$value){
$temp_array[$key] = array_unique($value);
}
$array = $temp_array;
php二維數組去掉外面的key
$a = array_map(‘current’, $b);
$a 是你要的結果;
$b是你一開始的二維數組。不過在第二層中,僅對第一個值有效。
例如:
?php$cars = array ( array(22,18), array(“BMW”,15,13), array(“Saab”,5,2), array(“Land Rover”,17,15) );$b = array_map(‘current’, $cars);var_dump($b);
得到的結果是:
array(4) { [0]= int(22) [1]= string(3) “BMW” [2]= string(4) “Saab” [3]= string(10) “Land Rover”}
求教php二維數組根據某一元素刪除
?php
$arr=array(
2 = array(
‘catid’ = 2,
‘catdir’ = ‘notice’,
),
5 = array(
‘catid’ = 5,
‘catdir’ = ‘subject’,
),
6= array(
‘catid’ = 6,
‘catdir’ = ‘news’
)
);
function findVal($arr,$dir){
foreach($arr as $key=$val){
if(in_array($dir,$val))
return $key;
}
}
function array_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));
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250883.html