我有config.php一个包含这个示例数组的文件:return [ myarray => [ 'foo' => 'bar_'.str_random(5).'.log' ]]我想将 分配给str_random(5)一个$var变量并一步使用它;例如,类似(这个例子不起作用):return [ myarray = [ 'foo' => 'bar_'.(($var=str_random(5)) && $var).'.log' ]]输出应该是:echo $var;uoEUuprint_r($myarray);[ 'foo' => 'bar_uoEUu.log']谢谢编辑好的,我找到了这个解决方案,但它不喜欢我:return [ myarray = [ 'foo' => 'bar_'.$var=str_random(5).''.$var.'.log' ]]任何更清洁的建议?
3 回答
萧十郎
TA贡献1815条经验 获得超13个赞
海事组织,你想太多了。如果您需要$var在分配给它后使用,foo您可以执行以下操作:
$var = str_random(5);
$myarray = [
'foo' => "bar_$var.log"
];
茅侃侃
TA贡献1842条经验 获得超21个赞
解决方案实际上比您想象的要简单得多:
$myarray = [
'foo' => 'bar_'.($var=str_random(5)).'.log'
];
这样做的原因是任何赋值都可以用作其值为赋值的表达式。这通常不是必需的,但有一些用途,例如将多个变量设置为相同的值:
$foo = $bar = 42;
在这种情况下,您将连接一个固定字符串、一个表达式(恰好是一个赋值)和另一个固定字符串;额外的括号只是确保在连接之前评估赋值表达式。
- 3 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消