我一直得到一个"警告:传递给每个()的变量不是数组或对象"我知道的脚本错误是数组。基本代码是:
Array是通过API调用构建的 -
awk 'BEGIN{FS=OFS="\t"} FNR==NR{h[$3]++;next} {$7=h[$3]; print}' input.tab input.tab
我已通过$results = $abc->request('thing', $params, 'GET');
确认print_r
实际上是一个数组 - 这是一个示例
$results
我的代码是一个问题,应该循环遍历数组,同时循环清理数据并插入我的数据库
Array
(
[currentPage] => 1
[numberOfPages] => 196
[totalResults] => 9754
[data] => Array
(
[0] => Array
(
[id] => 1234
[name] => Robert
[nameShortDisplay] => Bob
[description] => Lorem....
)
)
[status] => success
)
为什么说传递给each()的Variable不是数组?
答案 0 :(得分:1)
foreach ($results as $each_results) {
将迭代$results
数组中的所有值(1,196,9754等)。
某些值不是数组,这就是您收到该错误的原因。但根据您在while循环中执行的操作,看起来您应该能够直接迭代data
密钥。
foreach ($results['data'] as $entry) {
$id = mysqli_real_escape_string($connection, $entry['id']);
// ...
}
答案 1 :(得分:0)
foreach
语句接受$results
中的数组并对其进行迭代,将数组的每个元素分配给$each_results
。