"ABCDEF" "quantity" =-6ren">
gpt4 book ai didi

php - 键存在于数组中时出现未定义索引错误

转载 作者:行者123 更新时间:2023-12-05 07:07:18 25 4
gpt4 key购买 nike

我正在努力解决一个看起来很简单的问题,但我找不到解决方案。

我这里有一个简单的 $row 数组:

array:2 [▼
"reference" => "ABCDEF"
"quantity" => "10"
]

我正在尝试解析它并使用以下方法检索每个引用的数量:

$line = [
'ref' => strtoupper($row["reference"]),
'quantity' => $row["quantity"]
];

我正在使用这段代码遍历行数组:

foreach ($rows as $row) {               
$line = [
'ref' => strtoupper($row['reference']),
'quantity' => $row['quantity']
];
}

作为测试,我的主数组 $rows 有两行:

^ array:3 [▼
0 => array:2 [▼
0 => "ABCDEF"
1 => "10"
]
1 => array:2 [▼
0 => "WXCVBN"
1 => "3"
]
2 => array:1 [▼
0 => null
]
]

但是,我收到以下错误:

Undefined index: reference

奇怪的是,如果我注释掉

'ref' => strtoupper($row["reference"]),

行,我可以毫无问题地获得“数量”值...

我知道关键就在那里,因为 $row 对象的调试给出了上述结果。

这一定很简单...但我找不到解决方案...

如果有人可以帮忙?

最佳答案

很明显,$row 变量来自一个更大的数组,用于 foreach 循环。这可能是您问题的解决方案。

$array = [
[ "reference" => "ABC", "quantity" => "10"],
[ "reference" => "ABC", "quantity" => "10"],
[ "reference" => "ABC", "quantity" => "10"],
];

$line[] = '';

foreach($array as $row)
{
$line['ref'] = $row['reference'];
$line['quantity'] = $row['quantity'];
}

在这个例子中 $array 是你更大的数组,我用它来测试这个例子。之后我创建一个空数组 $line 来附加"new"数据。

你能试试这个吗?

编辑:

在查看您的循环和数组后,我注意到您的数组没有引用键。你能试试 strtoupper(row[0]) 吗?

关于php - 键存在于数组中时出现未定义索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62213075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com