php访问数组

时间:2018-06-03 00:07:09

标签: php arrays

我有一个来自_POST的php变量。 var_dump显示了这个:

array(9) { [0]=> array(2) { ["age"]=> string(2) "62"
["amount"]=> string(5) "10878" } [1]=> array(2) { ["age"]=> string(2) "63"
["amount"]=> string(5) "10878" } [2]=> array(2) { ["age"]=> string(2) "64"
["amount"]=> string(5) "10878" } [3]=> array(2) { ["age"]=> string(2) "65"
["amount"]=> string(5) "10878" } [4]=> array(2) { ["age"]=> string(2) "66"
["amount"]=> string(5) "10878" } [5]=> array(2) { ["age"]=> string(2) "67"
["amount"]=> string(5) "28416" } [6]=> array(2) { ["age"]=> string(2) "68" 
["amount"]=> string(5) "28416" } [7]=> array(2) { ["age"]=> string(2) "69" 
["amount"]=> string(5) "28416" } [8]=> array(2) { ["age"]=> string(2) "70" 
["amount"]=> string(5) "28416" } }

我循环遍历数组,但无法获取要打印的属性:

for ($i=0; $i<count($incomeSched); $i++) {
    $age = $incomeSched[$i]->age;
    $amt = $incomeSched[$i]->amount;
    echo "age=$age, amount=$amt<br>";
}

年龄和金额是空白的:

age=, amount=

2 个答案:

答案 0 :(得分:0)

据我记得->age是对象语法。您需要的数组语法为['age']

for ($i=0; $i<count($incomeSched); $i++) {
    $age = $incomeSched[$i]['age'];
    $amt = $incomeSched[$i]['amount'];
    echo "age=$age, amount=$amt<br>";
}

答案 1 :(得分:0)

关联数组和对象之间存在差异。

$incomeSched[$i]->age;

是您访问对象属性的方法。对于您想要的关联数组

$incomeSched[$i]["age"]

如果需要,您可以将数组转换为对象:

$obj = (object)$incomeSched;

在这里了解更多:

PHP - associative array as an object