如何通过索引访问php中的数组?

时间:2015-12-23 06:14:04

标签: php

我有一个用户的数据库表,我有两个字段USER_ID和USER_DESCRIPTION,如果我运行下面的代码我在表单中获取数组。

Array ( [USER_ID] => 1 [USER_DESCRIPTION] => TAB ) 

但我想在基于0,1的索引中访问这些值。如何得到它。

while (($result = oci_fetch_array($data, OCI_ASSOC)) != false) {
    echo $result['USER_ID']. ' - ' .$result['USER_DESCRIPTION']; //This works
    echo $result[0]. ' - ' .$result[1]; //This is how i want to access the values
}

3 个答案:

答案 0 :(得分:7)

您已将第二个参数OCI_ASSOC传递给oci_fetch_array(),它只会获取关联数组。

如果将该参数更改为OCI_BOTH,它将返回数字和关联数组。

OCI_BOTH是默认值。所以,即使你可以把那个参数放空。

更改

while (($result = oci_fetch_array($data, OCI_ASSOC)) != false) {

while (($result = oci_fetch_array($data, OCI_BOTH)) != false) {

OR To(默认为OCI_BOTH):

while (($result = oci_fetch_array($data)) != false) {

在这里阅读:

http://php.net/manual/en/function.oci-fetch-array.php

答案 1 :(得分:4)

你可以试试这个 -

$result= array_values($result); // Array with indexes you need

或者你可以做另一个技巧(假设你动态地拥有这些索引) -

$keys = array(
    0 => 'USER_ID',
    1 => 'USER_DESCRIPTION',
);

while (($result = oci_fetch_array($data, OCI_ASSOC)) != false) {
    echo $result[$keys[0]]. ' - ' .$result[$keys[1]];
}

答案 2 :(得分:3)

这适合我。

while (($result = oci_fetch_array($data, OCI_NUM)) != false){}