如何“从PHP中的嵌套数组结构获取数据”

时间:2019-06-18 12:25:00

标签: php arrays

我正在尝试从包含DetectedText值和BoundingBox这四个值的数组中获取数据。但面临问题。

完整的数据在'$ prepared_arr'中,给定数组的结构在下面给出。

print_r ($prepared_arr);// variable having complete data
Array //output of above array used in pipeline
(
[0] => Array
    (
        [DetectedText] => The number of goals
        [BoundingBox] => Array
            (
                [Width] => 0.66954100131989
                [Top] => 0.04796177148819
                [Left] => 0.2710283100605
                [Height] => 0.072451308369637
            )

    )

[1] => Array
    (
        [DetectedText] => in world cup match
        [BoundingBox] => Array
            (
                [Width] => 0.33683118224144
                [Top] => 0.12350185215473
                [Left] => 0.12564577162266
                [Height] => 0.066131837666035
            )

    )
)

如果我使用print_r($ prepared_arr [1]),它将仅返回索引1的完整数据。 预先谢谢你

3 个答案:

答案 0 :(得分:1)

您可以使用foreach从数组中获取数据,例如:

// with your example
foreach($prepared_arr as $val)
{
    echo "DetectedText: ". $val['DetectedText']."<br/>"; // using br for line break
    foreach ($val['BoundingBox'] as $key => $valueInner) {
        echo $key.": ".$valueInner."<br/>"; // using br for line break
    }
}

答案 1 :(得分:0)

您可以使用以下循环

FOR LOOP

语法:-

for ($i = 1; $i <= 10; $i++) {
 echo $i;
} 

FOREACH

语法:-

$a = [1,2,3]
foreach ($a as $key => $value) {
    echo "\$a[$k] => $v.\n";
}

答案 2 :(得分:0)

如果执行代码print_r($prepared_arr[1]),它将仅获取数组$ prepared_arr的第1个,而忽略0-index,因此它将打印1-index的完整数据。 我建议您通过https://www.geeksforgeeks.org/how-to-get-the-first-element-of-an-array-in-php/来了解如何访问php数组