作为新手,有没有人有什么好的教程可以帮助我理解数组的不同层次?我想学习的是如何回应不同的水平,例如这是输出数组:
Array
(
[meta] =>
Array
(
[total_record_count] => 1
[total_pages] => 1
[current_page] => 1
[per_page] => 1
)
[companies] =>
Array
(
[0] =>
Array
(
[id] => 291869
[url] => https://api.mattermark.com/companies/291869
[company_name] => gohenry.co.uk
[domain] => gohenry.co.uk
)
)
[total_companies] => 1
[page] => 1
[per_page] => 1
)
下面是解析数组的代码:
foreach($jsonObj as $item)
{
echo $item['total_companies'];
}
我真的很难找到结构以及如何输出每个项目,例如尝试过类似的东西:
echo $item[0]['total_companies'];
echo $item['companies'][0]['id'];
如有任何帮助或指点,我们将不胜感激。
最佳答案
好吧,让我们开始吧,您有一个多维数组。对于多维数组,您需要使用循环
,例如:for
、while
、foreach
。对于您的目的,它是 foreach
。
从数组维度开始,数组可以是多维的,就像你有多维一样。如果您有如下所示的数组,那么它就是一维的。
array(
key => value,
key2 => value2,
key3 => value3,
...
)
现在,你怎么知道什么是多维数组,如果你的数组有另一个数组作为子数组,那么它被称为多维数组,如下所示。
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array(
"dimensional" => array(
"array" => "foo"
)
)
);
是时候使用您的阵列了。假设你想访问 company_name
的值,你应该怎么做??让你的数组名称是 $arr
。
首先,您需要使用一个 foreach 循环,例如:
foreach($arr as $key => $val)
键
是(meta, companies, total_companies...)
,它们在第一维。现在检查 key 是否为 company_name
,如果匹配则比您得到的要好。或者,如果 $val
是一个数组,您需要进行另一个循环,您可以使用 is_array
检查它。
通过在循环执行的最后一个元素上进行相同的处理并找到您的值。
关于php - 如何输出不同级别的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37320647/