任何人都可以解释为什么我看不到阵列里面有什么?我认为它应该能够有多个号码(订阅)所以也许这就是我遇到麻烦的原因?这是代码。
$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.
发生了什么事?
答案 0 :(得分:2)
您的混淆显然来自1
is_array
的输出
is_array
会返回布尔值值(true
或false
)。当以文本形式输出布尔值时,true
表示为1
,false
表示为空(空字符串)。
因此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";
}
希望这有帮助!