PHP:是否可以在一行中返回带有修改元素的数组?

时间:2015-04-18 14:40:11

标签: php arrays

function maybe_one_liner( array $args ) {
    $args["class"] .= " grid";
    return $args;
}

是否可以使用单行返回?

2 个答案:

答案 0 :(得分:1)

它有点脏,但它有效:

function maybe_one_liner( array $args ) {
    return (($args["class"] .= " grid")?$args:$args);
}

示例输入/输出:

$x = [1,2, "class" => "foo"];
var_dump(maybe_one_liner($x));

输出:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  ["class"]=>
  string(8) "foo grid"
              //^^^^^
}

答案 1 :(得分:0)

联盟工作,但订单很重要。 For matching keys, right-hand array's value is simply dropped

function maybe_one_liner( array $args ) {
    return $args + array( "class" => $args["class"] .= " grid" );
}