我正在尝试使用键#调用数组的特定部分,但它无效。我可以输出数组并看到它......
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()会有所帮助,但事实并非如此。
答案 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()命令,而且可能就是其中之一。当它......太迟了,但我学到了一些关于检查这些类型事物的代码的事情。