如何使用声明为数组的变量的值(以'[]'结尾)?

时间:2011-03-27 10:08:57

标签: php arrays variables

<?php $postid[] = get_the_ID(); // capture the id (a number) ?>

现在如果我回复$postid我就得到:数组

当我执行以下操作时:

<?php
    $default = array(
        'posts_per_page' => $postid
    );
?>

我也没有得到任何东西。

有什么建议吗?

1 个答案:

答案 0 :(得分:6)

在PHP中使用数组时,可以使用以下命令将数组分配给变量:

// initalize empty array
$a = array();
var_dump($a);

(当然array()可能非空)

或者您可以使用以下语法,而不使用索引:

// push items at the end of the array
$a[] = 10;
$a[] = 20;
var_dump($a);

最后,您可以在您选择的键上设置项目:

// put an item at a given index
$a['test'] = 'plop';
var_dump($a);

有关更多信息,请参阅Arrays sections of the manual


这样做,感谢三个var_dump()来电,我会得到:

array
  empty

array
  0 => int 10
  1 => int 20

array
  0 => int 10
  1 => int 20
  'test' => string 'plop' (length=4)

注意:很多人使用print_r()代替 var_dump() - 我倾向于选择 var_dump() ,这会显示更多信息,特别是在安装Xdebug extension时。


但请注意,无论如何,在数组本身上调用echo

echo $a;

除了输出之外别无其他:

Array

哪个不太有用; - )


您仍然可以显示该数组中单个项目的值:

echo $ a ['test'];

在这种情况下,会得到这个输出:

plop


基本上:echo不是您想要显示数组时应该使用的:

  • 如果要检查数组以进行调试,请使用var_dump()
  • 或使用foreach循环遍历数组,使用echo显示每个项目
    • 注意:您可能需要进行一些递归,以检查子数组; - )