阵列格式化了与printf的我知道在PHP中printf
语句格式字符串如下:如何在PHP
//my variable
$car = "BMW X6";
printf("I drive a %s",$car); // prints I drive a BMW X6,
然而,当我尝试使用printf
打印一个数组,似乎没有要一种格式化的方法。谁能帮忙?
阵列格式化了与printf的我知道在PHP中printf
语句格式字符串如下:如何在PHP
//my variable
$car = "BMW X6";
printf("I drive a %s",$car); // prints I drive a BMW X6,
然而,当我尝试使用printf
打印一个数组,似乎没有要一种格式化的方法。谁能帮忙?
下面是一个评论对http://php.net/manual/en/function.printf.php的摘录:
[编者注:或者只是使用vprintf ...]
如果你想要做的事,如:
// this doesn't work
printf('There is a difference between %s and %s', array('good', 'evil'));
而不是
printf('There is a difference between %s and %s', 'good', 'evil');
您可以使用此功能:
function printf_array($format, $arr)
{
return call_user_func_array('printf', array_merge((array)$format, $arr));
}
使用它的方式如下:
$goodevil = array('good', 'evil');
printf_array('There is a difference between %s and %s', $goodevil);
它会打印:
There is a difference between good and evil
为什么定义你自己的http://php.net/manual/de /function.vsprintf.php ?? ;) –
是
在HTML的地方是:
<pre>
<?php
print_r ($your_array);
?>
</pre>
或您的代码唯一的地方:
print_r ($your_array);
的printf不递归处理数组。然而,你可以这样做:
$cars=array('Saab','Volvo','Koenigsegg');
print_r($cars);
你不能“打印”一个数组就是这样,你必须使用foreach
,那么你可以printf的所有你想要的值来遍历它。例如:
$cars = array('BMW X6', 'Audi A4', 'Dodge Ram Van');
foreach($cars as $car) {
printf("I drive a %s", $car);
}
这将输出:
I drive a BMW X6
I drive a Audi A4
I drive a Dodge Ram Van
这也是一个很好的解决方案。 – workdreamer
这确实是最主题和最不复杂的一个。 – mensch
您正在寻找这样的事情使用print_r with true parameter:
printf("My array is:***\n%s***\n", print_r($arr, true));
您希望在阵列上发生什么样的格式化?与print_r数组相似的东西类似吗? –
希望如果我有一个数组,如// $ my_array(3,2,1),我可以使用printf()如下// printf(“Ready!%s,%s,%s Go!”,$ my_array)输出//就绪! 3,2,1,去吧! –
不,你不能那样做......相信我,你也不会那么想。你是初学者,在几年内与我们交谈,你会发现这不是一种选择。 :D – workdreamer