【发布时间】:2016-04-04 19:15:09
【问题描述】:
我有如下数据集,我的表列之一让我们说价格列以 json 格式存储价格,示例如下。
<?php
$dataSet[] = array(
"product_id" => 1,
"prices" => '{"1":"29990", "2": "10000"}'
);
foreach ($dataSet as $dataRow)
{
$pricesStdClassObject = json_decode($dataRow['prices']);
// Convert stdClass Object into array
$pricesArray = (array) $pricesStdClassObject;
print_r($pricesArray);
}
?>
print_r($pricesArray)的输出如下
Array ( [1] => 29990 [2] => 10000 )
那为什么print_r($pricesArray[1])给我错误
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 1
但是为什么呢?
【问题讨论】:
-
"输出应该如下所示" - 那么输出是什么?您能阅读How to Ask 并提供minimal reproducible example 吗?这里有一些不相关的代码,并且缺少实际输出。
-
如果您查看 foreach 正文,我在浏览器中调试 $pricesArray 数组( [1] => 29990 [2] => 10000 )意味着它是一个数组,但是当我访问第一个索引值,例如 echo $pricesArray[1] 为什么它给了我未定义的偏移量
-
有什么帮助或建议吗?
-
您的代码为我打印
Array ( [1] => 29990 [2] => 10000 )。 -
是的,但是如果您尝试获取索引 1 的值,那么它会给您错误
标签: php arrays undefined offset