我试图创建一个接受3个参数的函数,然后用正确的句子对它们进行排序。例如,
echo formatExercise('There are {0} {1} in the tree!', 5, monkeys)
输出应该是:树中有5只猴子!
我可以通过使用sprtinf来做到这一点,但我在将其实现为完整函数时可能会遇到任何参数而无需更改代码(sprintf也很好)。例如:
<?php
function formatExercise() {
$str = 'monkeys';
$num = 5;
$fmt = 'There are %d %s in the tree!';
echo sprintf($fmt, $num, $str);
}
echo formatExercise();
?>
上面给出了我们&#39;树中有5只猴子!&#39;
我知道我必须传递参数。我的理解是这样的:
function formatExercise($fmt, $num, $str)
但我不确定如何编写该功能。我是初学者,所以请有人提供一些见解。
答案 0 :(得分:-1)
如果您想使用{#}字符,这可能就是您所希望的:
function splat ($sentence, $num, $creatures){
$first_pass = str_replace('{0}', $num, $sentence);
$second_pass = str_replace('{1}', $creatures, $first_pass);
return $second_pass;
}
echo splat('There are {0} {1} in the tree', 5, "monkeys");
或者如果你更喜欢使用sprintf,你可以这样做:
function formatExercise($fmt, $num, $str) {
echo sprintf($fmt, $num, $str);
}
echo formatExercise('There are %d %s in the tree!', 5, 'monkeys');
答案 1 :(得分:-1)
是的,只需添加参数:
var instance = ModelManager()
class ModelManager: NSObject {
var database: FMDatabase? = nil
var database2: FMDatabase? = nil
var resultSet: FMResultSet!
class func getInstance(sqllite:String) -> ModelManager {
if(instance.database == nil){
instance.database = FMDatabase(path: Util.getPath(sqllite))
}
return instance
}
class func getInstance2(sqllite:String) -> ModelManager {
if(instance.database2 == nil){
instance.database2 = FMDatabase(path: Util.getPath(sqllite))
}
return instance
}