在php中打印出数组内的所有内容

时间:2011-12-17 05:11:08

标签: php

任何人都可以解释为什么我看不到阵列里面有什么?我认为它应该能够有多个号码(订阅)所以也许这就是我遇到麻烦的原因?这是代码。

 $num = $_SESSION['subscription_ids'];
 if(is_array($num))
  {
print_r($num);
  }
    else
  {
echo "not an array";
   }

//Thanks DonnieM, yet It's spliting out "Array ( ) " no joke. 

发生了什么事?

3 个答案:

答案 0 :(得分:2)

您的混淆显然来自1 is_array的输出 is_array会返回布尔值值(truefalse)。当以文本形式输出布尔值时,true表示为1false表示为空(空字符串)。

因此1仅表示是,这是一个数组。它没有告诉你数组中有多少元素。

答案 1 :(得分:1)

这是你的意思吗?

php > $a = array();
php > echo is_array($a);
1
php > print_r($a);
/* this is not empty, but an empty array */
Array
(
)
/* as long $a is initiate, it WILL NEVER return NULL */
php > var_dump($a);
array(0) {
}

/* but */
php > $a = array(null);
php > var_dump($a);
array(1) {
  [0]=>
  NULL
}

答案 2 :(得分:0)

由于我不知道$ _SESSION ['subscription_ids']的价值是多少,所以很难说。在我看来,您正在错误地使用is_array函数。它返回一个布尔值,你只是将它分配给一个变量。以下是文档的链接:

http://php.net/manual/en/function.is-array.php

我会说你的代码结构如下:

$num = $_SESSION['subscription_ids'];
if(is_array($num))
{
    print_r($num);
}
else
{
    echo "not an array";
}

希望这有帮助!