PHP доступ к элементу в массиве - PullRequest
0 голосов
/ 06 марта 2012

У меня есть массив, который выглядит так:

Array
(
    [0] => Array
        (
            [id] => Classify
            [classification] => Array
                (
                    [0] => Array
                        (
                            [class] => negative
                            [p] => 0.0650294
                        )

                    [1] => Array
                        (
                            [class] => positive
                            [p] => 0.934971
                        )

                )

            [text] => Understanding if a text is positive or negative is easy for humans, but a lot harder for computers. We can “read between the lines”, get jokes and identify irony. Computers aren’t quite there yet but the gap is quickly closing in.
        )

)

Как мне получить доступ к значению positive & negative?

Ответы [ 5 ]

2 голосов
/ 06 марта 2012

Если у вас есть несколько элементов в самом верхнем массиве, вам придется анализировать каждый элемент:

foreach($item in $array)
    foreach($classification in $item['classification'])
        echo $classification['class'];
2 голосов
/ 06 марта 2012

$array[0]['classification'][0]['p'] и $array[0]['classification'][1]['p'] для доступа к двойным значениям.

$array[0]['classification'][0]['class'] и $array[0]['classification'][1]['class'] для доступа к положительным и отрицательным строкам

2 голосов
/ 06 марта 2012

Внешний массив имеет числовую индексацию (имеющую один элемент, ассоциативный массив), и эти два значения являются компонентами элементов массива, содержащихся в массиве classification, который также численно индексируется, элементы которого являются ассоциативными массивами.

// By iteration, assuming an unknown number of classifications
foreach ($array[0]['classification'] as $classification) {    
  echo $classification['class'];
  echo $classification['p'];
}

// Or direct access to the elements
echo $array[0]['classification'][0]['class']; // negative
echo $array[0]['classification'][0]['p']; // 0.0650294
echo $array[0]['classification'][1]['class']; // positive
echo $array[0]['classification'][1]['p']; // 0.934971
1 голос
/ 06 марта 2012
print $array[0]['classification'][0]['class'];
print $array[0]['classification'][1]['class'];

при условии, что количество классификаций всегда одинаковое ...

1 голос
/ 06 марта 2012
print $arr[0]['classification'][0]['class'];
print $arr[0]['classification'][1]['class'];
...