[英]How to access elements inside MultiDimensional Array in php
How to access all the elements under each key of multidimensional array. 如何访问多维数组每个键下的所有元素。
$multi = array
(
"Abhishek" => array("Choudhary", "Bunta", "Popy"),
"Bond" => array("One", "two", "three", "four"),
"Super" => array("T1", "T2")
);
$data = array("Abhishek","Bond","Super");
for($j = 0;$j<count($data);$j++)
{
echo "<br/>Main Array Value ".$data[$j]."<br/>";
for($i = 0;$i<count($data[$j]);$i++)
{
echo "sub Value ".$multi[$data[$j]][$i]." count ".count($data[$j]) ;
}
}
Now I want to iterate through each element of Abhishek , Bond and Super , so we can see Abhishek has 3 elements inside it but $data[$j] always return 1. If I increment then I can access Bunta Currently the output is - 现在我要遍历Abhishek,Bond和Super的每个元素,因此我们可以看到Abhishek里面有3个元素,但是$ data [$ j]总是返回1。如果我增加,那么我可以访问Bunta当前输出是-
Main Array Value Abhishek
sub Value Bunta
Main Array Value Bond
sub Value two
Main Array Value Super
sub Value T2
and expected is: 预期是:
** **
Main Array Value Abhishek
sub Value choudhary
sub Value Bunta
sub Value Popy
:
:
Main Array Value Bond
sub Value two
Main Array Value Super
sub Value T2
** **
Disclaimer : I am super new to PHP so may be my expectation can be invalid or I am missing some very silly thing. 免责声明 :我是PHP的新手,所以可能是我的期望无效或缺少一些非常愚蠢的东西。
i recommend you read some articles about multidim arrays, anyway your needs could be done with following code: 我建议您阅读一些有关多维数组的文章,无论如何,您的需求可以通过以下代码来完成:
foreach($multi as $key => $value) {
echo "<br/>Main Array Value ".$key."<br/>";
for($i = 0; $i < sizeof($value); $i++) {
echo "sub Value ".$value[$i]." count ".sizeof($value) ;
}
}
PS: you don't need $data
array PS:您不需要
$data
数组
Using foreach()
would be easier 使用
foreach()
会更容易
foreach ($multi as $key => $subarray)
{
echo $key . '<br />';
foreach ($subarray as $subvalue)
{
echo ' - '.$subvalue . '<br />';
}
}
Will output 将输出
Abhishek
- Choudhary
- Bunta
- Popy
Bond
- One
- two
- three
- four
Super
- T1
- T2
@bunta please check this out: PHP Foreach @bunta,请检查以下内容: PHP Foreach
You could use foreach instead. 您可以改用foreach。
Also: 也:
PHP foreach loop through multidimensional array PHP foreach遍历多维数组
HTH. HTH。
Try this : 尝试这个 :
<?php
foreach($multi as $key => $value) {
echo "<br/>Parent Value ".$key."<br/>";
for($i = 0; $ < sizeof($value); $++) {
echo "Child Value ".$value[$i]." count ".sizeof($value) ;
}
}
?>
You are using wrong syntax to access it.
All you need is use foreach to iterate on $multi array (if you just want to know the number of subelements for each element level 1): 您需要使用foreach在$ multi数组上进行迭代(如果您只想知道每个元素级别1的子元素的数量):
<?php
echo "<br\>multiDimensional Array<br\>";
$multi = array("Abhishek" =>array
("Choudhary",
"Bunta",
"Popy"),
"Bond" => array
("One",
"two",
"three",
"four"),
"Super" => array
("T1",
"T2")
);
foreach( $multi as $value ){
echo " count ".count($value) ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.