在PHP中回显我的数组数据的问题

时间:2010-03-31 16:41:04

标签: php

我想创建一个数字数组:10,9,8 ......到1.但是当我回显$ number时,我得到“数组”作为数字的输出。

我可能错过了一件简单的事情,请你告诉我。谢谢!

$numbers=array();
for ($i=10; $i>0; $i--){
    array_push($numbers, $i);
}
echo $numbers;

5 个答案:

答案 0 :(得分:4)

输出字符串:

echo implode(', ', $numbers);

出于调试目的,请使用print_rvar_dump

答案 1 :(得分:1)

不,你没有遗漏任何东西。当然$numbers是一个数组 如果你做print_r($numbers)而不是看到数组中有哪些元素。

这在很大程度上取决于你最终想要对数组做什么。例如,您还可以遍历数组值:

foreach($numbers as $number) {
    //whatever you want to do
    echo $number;
}

如果您只想打印这10个数字,您也可以这样做:

for ($i=10; $i>0; $i--){
   echo $i;
}

正如我所说,这取决于你想做什么:)

答案 2 :(得分:1)

取决于您希望输出的样子。

出于调试目的,这应该有效:

print_r($numbers);

对于“更漂亮”的输出:

foreach ($numbers as $key => $value)
    echo $key . "=" . $value

答案 3 :(得分:0)

首先,您可以使用range()

更轻松地创建该数组
$numbers = range( 10, 1 );

其次,只有标量可以直接回显 - 在这之前,对象和数组之类的复杂值会被转换为字符串。数组的字符串强制转换始终为“Array”。

如果你想看到这些值,你必须以某种方式展平数组,你有几个选项 - implode()可能就是你想要的。

echo implode( ',', $numbers );

答案 4 :(得分:0)

出于调试目的,您可能会喜欢:

echo '<pre>' . print_r($numbers, true) . '</pre>';

因为它的输出是清晰的,无需查看页面源。