来自密钥的数组调用无法正常工作

时间:2010-03-02 19:37:29

标签: php arrays key

我正在尝试使用键#调用数组的特定部分,但它无效。我可以输出数组并看到它......

Array
(
    [6] => Array
        (
            [0] => user@domain.com
            [1] => user@domain.com
        )

    [7] => Array
        (
            [0] => user@domain.com
            [1] => user@domain.com
        )

    [8] => Array
        (
            [0] => user@domain.com
            [1] => user@domain.com
        )

)

这个数组是$ emailDB。我可以使用$ emailDB [7]手动调用该数组并且它可以正常工作,但如果我的调用是动态的,那么它将不起作用...

<?php
$value = 7;
print_r($emailDB[$value]);
?>

我从来没有像这样的问题有一个数组,所以这很奇怪。真正糟糕的是,我正处于截止日期,表格不在客户的网站上工作......快乐。

我们试了这个没有运气......

<?php
$value = 7;
print_r($emailDB[intval($value)]);
?>

我认为intval()会有所帮助,但事实并非如此。

3 个答案:

答案 0 :(得分:2)

好吧,你正在回应一个数组,我假设在你的屏幕上打印“数组”。如果要回显数组的实际内容,则需要使用print_r($array)echo print_r($array, true)。您也可以尝试将值放在引号中,例如$emailDB["{$value}"]以查看它是否有效,我有时会遇到整数没有正确处理问题的麻烦。

答案 1 :(得分:2)

你的帖子意味着php本身存在一个错误,我对此非常怀疑。更有可能的是,您发布的内容并不能正确代表您正在运行的代码。

为什么不尝试这个。制作一个全新的空php文件。对数组键和值进行硬编码并将它们分配给$ emailDB变量,然后尝试

$value = 7;
print_r($emailDB[$value]);

您会发现自己没有自己要求的问题。您现在已经开始调试过程,现在您可以查看工作和非工作代码来比较差异。

答案 2 :(得分:0)

我同意你的意见。对于我们如何以某种方式提取数据,它必须是一件令人讨厌的事情。这是一个我们爆炸的标签分隔文件。我只是完全重写了整个事情并将数据导入MySQL,一切都很顺利。

事后看来,我有一种潜在的怀疑,这是一个需要的trim()命令,而且可能就是其中之一。当它......太迟了,但我学到了一些关于检查这些类型事物的代码的事情。