Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 二维数组的Foreach_Php_Arrays - Fatal编程技术网

Php 二维数组的Foreach

Php 二维数组的Foreach,php,arrays,Php,Arrays,我试图用foreach提取二维数组的值。 我有一个数组,例如: $ud['prc']['col1'] $ud['prc']['col2'] .... 我的循环: foreach ($ud['arc'] as $name => $rank) { if ($name != 'user_ID') { echo "<tr><td>{$name}</td><td>{$rank}</td></tr>";

我试图用foreach提取二维数组的值。 我有一个数组,例如:

$ud['prc']['col1']
$ud['prc']['col2']
....
我的循环:

foreach ($ud['arc'] as $name => $rank)  {
    if ($name != 'user_ID') {
        echo "<tr><td>{$name}</td><td>{$rank}</td></tr>";
    }
}
它打印这个:

 <tr><td>0</td><td>value of col1</td></tr>
 <tr><td>col1</td><td>value of col1</td></tr>
 <tr><td>1</td><td>value of col1</td></tr>
 <tr><td>col2</td><td>value of col2</td></tr>
 <tr><td>2</td><td>value of col1</td></tr>
 <tr><td>col3</td><td>value of col3</td></tr>

您的
$ud
数组不是关联数组,因此它是由数字(0..n)和字符串索引的,而不仅仅是由字符串(“prc”等)索引的。因此,结果数组有两个值

如果数组是从SQL查询生成的,则应使用:

$ud=mysqli\u fetch\u assoc()
而不是
mysqli\u fetch\u array()

更改您的

$arc = mysql_fetch_array($arc_q);


希望有帮助。

由于它的数组来自一个查询,您有两个选择:

1-在“MYSQL\u fetch\u array”函数中添加MYSQL\u ASSOC参数

2-验证密钥是否为整数并跳过


我个人更喜欢第一种方法,不需要创建更多的代码

此数组是SQL命令的结果?数组中是否填充了一种查询结果?用值显示数组。同时将foreach循环中的
$ud['arc']
更改为
$ud['prc']
@Vinicius Monteiro Yes。数组$ud['arc']包含以下内容:$arc_q=mysql_query(“SELECT*FROM
arc
WHERE user_ID='$ID')$arc=mysql\u fetch\u数组($arc\u q)$ud['arc']=$arc;对我来说工作很好,你是否在这个脚本上面打印任何表格、td或tr标签谢谢!它工作得很好!你能解释一下区别是什么吗?@user3209297函数mysql\u fetch\u assoc,它的作用几乎相同,只是它只带来字段名,而不带来索引。这与在MYSQL\u fetch\u arrayGot中添加参数MYSQL\u ASSOC是一样的。再次感谢你!
$arc_q= mysql_query("SELECT * FROM arc WHERE user_ID='$id'"); 
$arc = mysql_fetch_array($arc_q); 
$ud['arc'] = $arc;
$arc = mysql_fetch_array($arc_q);
$arc = mysql_fetch_assoc($arc_q);