本文目录一览:
- 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));
?