PHP 仅在值存在时才分配给数组

标签 php

我目前正在使用此代码将一个变量分配给数组,前提是它不携带空引用。他们有什么捷径/替代方法吗?

if (!is_null($foo)) {
    $var['foo'] = $foo;
}

if (!is_null($bar)) {
    $var['bar'] = $bar;
}

最佳答案

好吧,你可以使用三元运算符作为“快捷方式”:

is_null($foo) ?: $var['foo'] = $foo;

——但我真的不推荐这个。

之所以有效,是因为 $var['foo'] = $foo 本身是一个有效的表达式——但它有点“歪曲”了运算符的整个概念。


编辑:正如其他人在评论中所问的那样,多一点上下文会有所帮助。如果您不是出于纯粹的好奇而问这个问题,而是例如因为您必须对多个变量执行此操作——那么无论如何都将它们全部放入数组中,然后使用 array_filter 来“丢弃”之后的 null 值可能更直接......

关于PHP 仅在值存在时才分配给数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622172/

相关文章:

php - 使用 jquery 增加 attr 的值

php - PHP 应该生成什么来返回 jQuery AJAX 请求?

php - ElasticSearch PHP SDK简单查询不起作用

php - 如何返回给定字符串的所有组合? (例如 'foo bar' = bar、bar_foo、foo)

php - 无法在 symfony2 控制台命令中保留对象

javascript - 无法使用 XMLHttpRequest 执行 php 文件

php - 如何合并两个具有相同结构的Mysql数据库?

php - 如何让这个 session 进入另一个.php?edit<?php echo $result->id;?>

php - 在 PHP 中循环遍历 mysql_fetch_array

php - 这个 PHP/MySQL 登录脚本安全吗?更新代码