Php 如何抛出异常,但在消息中包含参数?
最好的方法是什么:Php 如何抛出异常,但在消息中包含参数?,php,Php,最好的方法是什么: $params = array ('a' => 'b', 'c' => 'd'); // etc etc throw new Exception( "Could not do something because params << insert parameters >> was bad", $code ); 您可以使用sprintf函数 如果数组值/索引的计数为常量,则可以执行以下操作: throw new Exc
$params = array ('a' => 'b', 'c' => 'd'); // etc etc
throw new Exception(
"Could not do something because params << insert parameters >> was bad",
$code
);
您可以使用sprintf函数
如果数组值/索引的计数为常量,则可以执行以下操作:
throw new Exception(
sprintf("Could not do something because params {$params['a']}, {$params['b']} was bad"),
$code
);
如果数组中有不同数量的值,可以如下处理:
"Could not do something because params: a = b, c = d was bad",
throw new Exception(
sprintf("Could not do something because params " . implode(', ', $params) . " was bad"),
$code
);
如果还需要为每个值包含数组键,则必须执行类似的操作:
$excParams = array();
foreach ($params as $key => $val) {
$excParams[] = "{$key} = {$val}";
}
throw new Exception(
sprintf("Could not do something because params " . implode(', ', $excParams) . " was bad"),
$code
);
$excParams = array();
foreach ($params as $key => $val) {
$excParams[] = "{$key} = {$val}";
}
throw new Exception(
sprintf("Could not do something because params " . implode(', ', $excParams) . " was bad"),
$code
);