我有一个看起来像这样的PHP数组$ data ...
def takenum(x,y):
print("Your first number is " + x + " your second number is " + y)
result = (x + y)
print(result)
x = input("put your first number: " )
y = input("Put your second number: " )
takenum(x, y)
我正在尝试遍历Array
(
[section] => Array
(
[345dfg] => Array
(
[test] => Array
(
[name] => John
)
)
[567fghj] => Array
(
[test] => Array
(
[name] => Tom
)
)
)
[othersection] => Array
(
[result] => 2
)
)
中的每个项目,所以这样做...
section
它可以正常工作,但是在我的错误日志中,我得到...
foreach ($data[section] as $section) {
echo $section[test][name];
}
我要去哪里错了?
答案 0 :(得分:5)
您需要使用单引号将数组键括起来,因为它们是字符串类型。
所以
foreach ($data[section] as $section) {
应该是
foreach ($data['section'] as $section) {
否则,如果没有$
且没有单引号,则section
被认为是constant
。
具有$data['section']
的可能性:
1)$section
作为变量:$data[$section]
2)section
作为常量:$data[section]
3)section
作为数组键(字符串):$data['section']
将数组键括在单引号中始终是一个好习惯。
巧合的是,如果定义了相同的常量,则可以将该常量的值视为数组键。
如果未定义常量,则会显示警告。