您的位置:

php二维数组去除键名,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));

?