相关疑难解决方法(0)

如何按条件过滤数组

我有这样一个数组:

array("a" => 2, "b" => 4, "c" => 2, "d" => 5, "e" => 6, "f" => 2)
Run Code Online (Sandbox Code Playgroud)

现在我想通过某种条件过滤该数组,只保留值等于2的元素,并删除值为2的所有元素.

所以我期望的结果数组是:

array("a" => 2, "c" => 2, "f" => 2)
Run Code Online (Sandbox Code Playgroud)

注意:我想保留原始数组中的键.

我怎么能用PHP做到这一点?任何内置功能?

php arrays filter higher-order-functions

24
推荐指数
2
解决办法
8万
查看次数

从多维数组中搜索和删除

如果我的值ID等于1并搜索数组,我想从数组本身中删除ID,如果找到则为1.

Array (
[0] => Array
    (
        [id] => 1
    )
[1] => Array
    (
        [id] => 4
    )
[2] => Array
    (
        [id] => 5
    )
[3] => Array
    (
        [id] => 7
    )
)
Run Code Online (Sandbox Code Playgroud)

新阵列

Array (
[0] => Array
    (
        [id] => 4
    )
[1] => Array
    (
        [id] => 5
    )
[2] => Array
    (
        [id] => 7
    )
)
Run Code Online (Sandbox Code Playgroud)

我正在使用search_array,我假设因为它是多维的,它没有找到它.有没有办法搜索上面的数组?

php arrays

3
推荐指数
2
解决办法
5036
查看次数

PHP按特定键过滤2维数组

我有这个数组:

Array
(
    [702a4584] => Array
        (
            [type] => folder
            [id] => 702a4584
        )

    [b547b3a9] => Array
        (
            [type] => folder
            [id] => b547b3a9

        )

    [fcb0d055] => Array
        (
            [type] => page
            [id] => fcb0d055
        )
)
Run Code Online (Sandbox Code Playgroud)

我想过滤数组,只保留类型"文件夹":

Array
(
    [702a4584] => Array
        (
            [type] => folder
            [id] => 702a4584
        )

    [b547b3a9] => Array
        (
            [type] => folder
            [id] => b547b3a9

        )

)
Run Code Online (Sandbox Code Playgroud)

我可以做到这一点,但我需要一个通用的功能:

$temp = array();
foreach($array as $key => $value)
{
    if($value['type'] =="folder")
    {
        $temp[$key] = $value; 
    } …
Run Code Online (Sandbox Code Playgroud)

php filtering multidimensional-array

3
推荐指数
1
解决办法
1万
查看次数