PHP - 仅当值不为空时才设置数组键

第九

像这样的事情有更短的解决方案吗?

$manufacturer = array();

if(!is_null($params->get('name'))){
    $manufacturer['name'] = $params->get('name');
}

if(!is_null($params->get('link'))){
    $manufacturer['link'] = $params->get('link');
}

if(!is_null($params->get('description'))){
    $manufacturer['description'] = $params->get('description');
}

...

因此,如果值不为空,则只应使用该值设置数组的键。这有点短,但使用此解决方案,键将存在值为 NULL。但是当值为 NULL 时,它们甚至不应该存在:

$manufacturer = array(
    'name' => !is_null($params->get('name')) ? $params->get('name') : null,
    'link' => !is_null($params->get('link')) ? $params->get('link') : null,
     'description' => !is_null($params->get('description')) ? $params->get('description') : null
);

编辑:

它应该适用于多维数组,并且数组键和参数键可能会有所不同

尤恩斯

对于@u_mulderforeach和@Nonoarray_filter解决方案,它们仅适用于简单数组,它们不会从多维数组中删除空值,

试试这个递归函数:

<?php
/**
 just keep your array like this:

$manufacturer = array(
    'name' => $params->get('name'),
    'link' => $params->get('link'),
    'description' => $params->get('description'),
    'attribute' => array (
        'street' => $params->get('street'),
        ...
    )
    ...
);
**/

$manufacturer = [
    'name' => 'yoeunes',
    'link' => null,
    'description' => 'fake description',
    'attribute' => [
        'street' => null,
        'city'   => 'Marrakech',
    ],
];

function array_remove_null($array)
{
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $array[$key] = array_remove_null($array[$key]);
        }

        if (is_null($array[$key])) {
            unset($array[$key]);
        }
    }

    return $array;
}

echo "<pre>";
print_r(array_remove_null($manufacturer));

输出:

Array
(
    [name] => yoeunes
    [description] => fake description
    [attribute] => Array
        (
            [city] => Marrakech
        )

)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅当值不为空时才打印字段

来自分类Dev

仅当值不为null时才执行Javascript数组推送

来自分类Dev

PHP - 仅当变量不为 false 时才为变量赋值

来自分类Dev

php数组不为空时被视为null

来自分类Dev

PHP-如果数组键存在且不为空

来自分类Dev

仅当不为空或为空时才输出数组的值

来自分类Dev

语义UI表单验证-仅当值不为空时才验证某些表单字段

来自分类Dev

仅当值在django中不为空时才根据值过滤查询

来自分类Dev

仅当值不为空时更新mySQL

来自分类Dev

仅当值不为空时更新mySQL

来自分类Dev

PHP MySQL-仅当不为null时才进行内部联接

来自分类Dev

PHP数组设置键

来自分类Dev

PHP数组:无论键如何,获取第一个不为空的值

来自分类Dev

仅当文件类型为 csv 时,才使用 PHP 查看电子邮件收件箱并将数组设置为文件内容

来自分类Dev

数组中的PHP空键

来自分类Dev

zend framework和php,仅当两个数组中的值集相等时才递增

来自分类Dev

Visualforce:仅当值不为null时才渲染,将引发异常

来自分类Dev

PHP分页,仅计算列不为空的行

来自分类Dev

仅当字符串不为空时才执行查询

来自分类Dev

仅当 Context 变量不为空时才渲染 REACT

来自分类Dev

PHP如何将元素插入数组,如果不为空

来自分类Dev

仅当Javascript为true时,才执行“ PHP提交”按钮

来自分类Dev

仅当条件匹配时,PHP才包含条件

来自分类Dev

仅当javascript语句为true时才执行php代码

来自分类Dev

仅当值不为null时,才将值添加到C#中的字符串中

来自分类Dev

仅当值不为null时,才将值添加到C#中的字符串中

来自分类Dev

在PHP中取消设置(删除)数组键

来自分类Dev

Excel公式-仅当值的总和为0时才求和0,否则为空?

来自分类Dev

如何在PHP中使用HTML(仅当值存在时显示)

Related 相关文章

  1. 1

    仅当值不为空时才打印字段

  2. 2

    仅当值不为null时才执行Javascript数组推送

  3. 3

    PHP - 仅当变量不为 false 时才为变量赋值

  4. 4

    php数组不为空时被视为null

  5. 5

    PHP-如果数组键存在且不为空

  6. 6

    仅当不为空或为空时才输出数组的值

  7. 7

    语义UI表单验证-仅当值不为空时才验证某些表单字段

  8. 8

    仅当值在django中不为空时才根据值过滤查询

  9. 9

    仅当值不为空时更新mySQL

  10. 10

    仅当值不为空时更新mySQL

  11. 11

    PHP MySQL-仅当不为null时才进行内部联接

  12. 12

    PHP数组设置键

  13. 13

    PHP数组:无论键如何,获取第一个不为空的值

  14. 14

    仅当文件类型为 csv 时,才使用 PHP 查看电子邮件收件箱并将数组设置为文件内容

  15. 15

    数组中的PHP空键

  16. 16

    zend framework和php,仅当两个数组中的值集相等时才递增

  17. 17

    Visualforce:仅当值不为null时才渲染,将引发异常

  18. 18

    PHP分页,仅计算列不为空的行

  19. 19

    仅当字符串不为空时才执行查询

  20. 20

    仅当 Context 变量不为空时才渲染 REACT

  21. 21

    PHP如何将元素插入数组,如果不为空

  22. 22

    仅当Javascript为true时,才执行“ PHP提交”按钮

  23. 23

    仅当条件匹配时,PHP才包含条件

  24. 24

    仅当javascript语句为true时才执行php代码

  25. 25

    仅当值不为null时,才将值添加到C#中的字符串中

  26. 26

    仅当值不为null时,才将值添加到C#中的字符串中

  27. 27

    在PHP中取消设置(删除)数组键

  28. 28

    Excel公式-仅当值的总和为0时才求和0,否则为空?

  29. 29

    如何在PHP中使用HTML(仅当值存在时显示)

热门标签

归档