关联数组显示不起作用

时间:2012-02-19 01:11:58

标签: php

我试图调用一个关联数组,我很困惑,为什么这不起作用。

如果我print_r($test);显示以下内容:

Array(
[e7a36fadf2410205f0768da1b61156d9] => Array(
        [rowid] => e7a36fadf2410205f0768da1b61156d9
        [id] => 3
        [qty] => 1
        [price] => 20
        [name] => test
        [options] => Array(
                [permName] => large
            )
        [subtotal] => 20
    )
)

但如果我$test[0]["rowid"];,则会出现以下错误消息:未定义的偏移量:0

我仍然是一个php新手但是从我到目前为止所学到的关于数组的知识应该可行。有什么想法吗?

由于

3 个答案:

答案 0 :(得分:3)

您的数组是关联的,因此$test[0]不存在。

$test['e7a36fadf2410205f0768da1b61156d9']['rowid']

如果您想在不引用密钥的情况下获取第一个元素,可以使用reset($test)

$first_element = reset($test);
$first_element['row_id'];

这两个例子的功能完全相同。

答案 1 :(得分:1)

你的outter数组似乎有关键字“e7a36fadf2410205f0768da1b61156d9” - 它没有用数字索引。

所以你应该使用

 $test["e7a36fadf2410205f0768da1b61156d9"]["rowid"]

如果你想知道第一个非数字键是什么,你也可以使用array_keys

答案 2 :(得分:0)

您可以使用键$test['e7a36fadf2410205f0768da1b61156d9']['rowid'] as [Mike B suggested][1]. Or get first element of array with [ reset()`] 2

$element = reset( $test);
$element['rowid'];

如果您稍后需要使用这些密钥,请使用array_keys()(您始终可以使用key()获取当前密钥):

$keys = array_keys( $test);
$test[ $keys[0]]['rowid'];

如果您需要浏览测试中的所有记录,请使用foreach

foreach( $test as $key => $item){
    $item['rowid'];
}
相关问题