gpt4 book ai didi

php - Oneliner 将字符串添加到另一个字符串之前或附加到另一个字符串

转载 作者:行者123 更新时间:2023-12-03 21:09:02 26 4
gpt4 key购买 nike

不是一个重要的问题,只是想知道是否有在线人员可以做到这一点。

function addString($text, $add, $type = 'prepend') {
// oneliner here
return $text;
}

$text = 'World';
addString($text, 'Hello ', 'prepend'); // returns 'Hello World'
addString($text, ' Hello', 'append'); // returns 'World Hello'

有什么想法吗? :)

最佳答案

这个怎么样,使用 ternary ?: operator :

function addString($text, $add, $type = 'prepend') {
return $type=='prepend' ? $add . $text : $text . $add;
}


注意:我实际上可能不会使用它 - 并保留经典的 if/else :不是单行代码,读起来不太好......但可能更容易理解;拥有易于理解的代码才是真正重要的。


在评论后编辑:如果您想确保 $type'append''prepend',并且仍然想要一句话,你可以选择这样的东西:

function addString($text, $add, $type = 'prepend') {
return ($type=='prepend' ? $add . $text : ($type=='append' ? $text . $add : ''));
}

但是您的代码将变得更难以阅读 - 并且可能是时候使用比一行代码更长且更易于理解的代码了。


例如,为什么不这样做:

function addString($text, $add, $type = 'prepend') {
if ($type === 'prepend') {
return $add . $text;
} else if ($type === 'append') {
return $text . $add;
} else {
// Do some kind of error-handling
// like throwing an exception, for instance
}
}

毕竟,行数对代码的执行方式几乎没有影响——而且,重要的是您的代码易于理解和维护。

关于php - Oneliner 将字符串添加到另一个字符串之前或附加到另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5557748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com