我有这种有趣的感觉,这会让我疲惫的眼睛错过了一些简单的东西。
给定以下数组$query
:
Array ( [report_id] => 19 [facebook_id] => Array ( [0] => 12345678 [1] => 12345678 [2] => 12345678 [3] => 12345678 [4] => 12345678 ) )
(不要介意[facebook_id]
数组的值,我只是把它放在那里作为例子)
我需要迭代并将每个值传递给函数。我正在使用下面的foreach循环,当我测试它循环的次数时,它会经历双倍。
foreach ($query as $value) {
$report_id = $query['report_id'];
$looper = $query['facebook_id'];
$i = 0;
foreach ($looper as $inner) {
if ($i == 0) {
$facebook_id_list = $inner;
} else {
$facebook_id_list = $facebook_id_list.'|'.$inner;
}
$i++;
}
}
当我回复所有内容时的输出是:
19
12345678|12345678|12345678|12345678|12345678
19
12345678|12345678|12345678|12345678|12345678
我最终会在我的函数中爆炸$facebook_id_list
,这就是为什么我将多维数组连接到变量中。
我错过了什么?
答案 0 :(得分:1)
您的循环可以替换为:
$report_id = $query['report_id'];
$facebook_id_list = implode('|', $query['facebook_id']);
没有循环,没有循环两次。
答案 1 :(得分:0)
它循环两次,因为你在$ query中有2个元素,你在循环中设置$ report_id和$ looper,这似乎没什么意义,因为你没有在任何地方使用$ value。
祝你好运!