我有一个数组,里面已经有这样的键和值:
Array
(
[username] => someUser
[email] => my@email.com
[points] => -1118
[country] => 213
[played] => 1121
[win] => 556
[paid] => 1
)
但是,在进行带有"pre"的print_r时,有可能添加这样的数字吗?
Array
(
[0][username] => someUser
[1][email] => my@email.com
[2][points] => -1118
[3][country] => 213
[4][played] => 1121
[5][win] => 556
[6][paid] => 1
)
这只是用于print_r函数,不应用于其他任何事情!
希望提前得到帮助和感谢;-)
不,这是不可能的。这就是print_r的作用。要做到这一点,您必须创建自己的自定义函数。
仍在使用print_r
:)
$a = ['username' => 'someUser', 'email' => 'my@email.com'];
echo preg_replace_callback('/'[(.+?)']'s'=/', function($v) use (&$_) { return '[' . (++$_ - 1) . "]$v[0]"; }, print_r($a, 1));
单独使用print_r()
无法做到这一点,但您可以获取print_r($array, true)
的输出,并尝试对其进行处理以获得您想要的结果。但这违背了print_r()
的目的,因为它更容易编写该函数的自己版本,从而在源数组
你可以打出这样的东西:
function print_r_indexed($array) {
$i = 0;
foreach ( $array as $key => $val ) {
echo "[$i][" . $key . "] => " . $val;
$i++;
}
}
然后调用下面的上述函数
$myArray = array ('a' => 1, 'b' => 2, 'c' => 3, 'email' => 'example@test.com' );
print_r_indexed($myArray);
不过,这是一种变通方法。也许一开始就不应该做这样的事情。