在尝试循环访问下面的这个数组时,我遇到了致命的偏移错误。
致命错误:未捕获类型错误:无法访问字符串中字符串类型的偏移量
这是我正在尝试解析的数组...
Array (
[data] => Array (
[total] => 29
[currentTotal] => 29
[dataList] => Array (
[0] => Array (
[Field1] => https://i.ebayimg.com/images/g/320AAOSwHYJlgKh3/s-l300.webp
[Field2] => PSA 10 Mike Trout 2011 Bowman Draft #101 RC Rookie Card *TOUGH* Angels SP
[Time] => Dec 29, 2023
[Field3] => $501.69
[Field4] => +$5.00 shipping
[Field5] => Auction · 59 bids
)
[1] => Array (
[Field1] => https://i.ebayimg.com/images/g/xVMAAOSwYR5lV3IS/s-l300.webp
[Field2] => 2011 Bowman Chrome Draft MIKE TROUT #101 RC Rookie PSA 10 Gem Mint
[Time] => Dec 27, 2023
[Field3] => $475.00
[Field4] => Free Shipping
[Field5] => Buy It Now
)
[2] => Array (
[Field1] => https://i.ebayimg.com/images/g/PxsAAOSw9kpkC6wx/s-l300.webp
[Field2] => 2011 Bowman Chrome MIKE TROUT Rookie RC #101 PSA 10 - Los Angeles Angels
[Time] => Dec 23, 2023
[Field3] => $475.00
[Field4] => +$5.00 shipping
[Field5] => Buy It Now
)
[3] => Array (
[Field1] => https://i.ebayimg.com/images/g/KsMAAOSwTLZlc6E6/s-l300.webp
[Field2] => 2011 Bowman Chrome Draft MIKE TROUT #101 RC PSA 10 Gem Mint
[Time] => Dec 15, 2023
[Field3] => $450.00
[Field4] => +$4.00 shipping [Field5] => Buy It Now
)
...
这是抛出错误的 php 代码:
function insertPriceGuide ($oArray){
$data = $oArray;
$rowCount = 0;
foreach($data as $key => $val)
{
echo $rowCount;
$imgURL = $val['dataList'][$rowCount]['Field1'];
$kw = $val['dataList'][$rowCount]['Field2'];
echo $imgURL.'<br/>';
echo $kw.'<br/>';
$rowCount++;
echo $rowCount;
}
循环拉取第一个数据行,但在获取下一个数据“datalist”行时抛出“无法访问字符串上字符串类型的偏移量”?任何帮助将不胜感激。谢谢!
这是因为您在错误的数组上循环。 您应该先检查数组
$data
中是否包含 dataList
键。
之后您将在$data['dataList']
if(array_key_exists('dataList', $data)){
$rowCount = 0;
foreach($data['dataList'] as $key => $val)
{
echo $rowCount;
$imgURL = $val[$rowCount]['Field1'];
$kw = $val['dataList'][$rowCount]['Field2'];
echo $imgURL.'<br/>';
echo $kw.'<br/>';
$rowCount++;
echo $rowCount;
}
}