【发布时间】:2014-11-03 16:57:41
【问题描述】:
我只是用一维数组,没什么特别的
$invalid_custom_transaction_ids = array();
方法一:
foreach($result as $row) {
if($row['TransactionID'] == $paypal_transaction_id) {
error_log("[DIE]1");
die();
}
error_log("[PUSHING]".$row['CustomTransID']);
array_push($invalid_custom_transaction_ids, $row['CustomTransID']);
}
方法二:
foreach($result as $row) {
if($row['TransactionID'] == $paypal_transaction_id) {
error_log("[DIE]1");
die();
}
error_log("[PUSHING]".$row['CustomTransID']);
$invalid_custom_transaction_ids[] = $row['CustomTransID'];
}
以下内容打印到调试日志中,表明我尝试将一些值添加到 array()
[2014 年 11 月 3 日 08:48:25 America/Los_Angeles] [PUSHING]Ux837Yn3rK3
当我尝试使用以下代码将数组打印到 debug_log 时
error_log(var_dump($invalid_custom_transaction_ids));
返回空白,我也试过了
error_log(array_values($invalid_custom_transaction_ids));
error_log 文件的输出如下所示:
[2014 年 11 月 3 日 08:48:25 America/Los_Angeles]
然后打印如下错误
[2014 年 11 月 3 日 08:48:25 America/Los_Angeles] PHP 警告:在第 195 行的 /path/to/script.php 中为 foreach() 提供的参数无效
195行代码如下:
function uniqueTransactionCheck() {
error_log("[UTC]1");
error_log(var_dump($invalid_custom_transaction_ids));
error_log("Is array: " . is_array($invalid_custom_transaction_ids));
foreach($invalid_custom_transaction_ids as $invalid) {
if($custom_transaction_id == $invalid) {
$custom_transaction_id = generateTransactionID();
uniqueTransactionCheck();
}
}
}
有什么关系?我完全不明白这一点,我一直在努力并试图把它做好,并在不同的纪录片和方法中洗牌。我绝对大吃一惊。
-snip-
【问题讨论】:
-
也许
$invalid_custom_transactions_ids是空的,因此foreach()会抛出该错误...尝试var_dump()它和die()看看你是否肯定有东西。 .. -
按原样查看您的代码真的会更好,而不是在我们不知道一个部分和另一个部分之间的关系的情况下分解成部分。
标签: php arrays for-loop foreach