在php associative array中需要帮助

时间:2011-09-27 10:32:06

标签: php

我有一个关联数组,我希望一次打印出所有列值而不是每行

示例,如果我有一个

数组
1.1, 1.2, 1.3, 1.4 
2.1, 2.2, 2.3, 2.4 
3.1, 3.2, 3.3, 3.4 

目前正在显示1.1 1.2 1.3 1.4然后2.1 2.2 2.3 2.4 ......等等

但我想显示1.1,2.1,3.1然后1.2 2.2 3.2 ......等等

在c ++中我知道你必须使用嵌套for循环来实现这个

for (int i=0; i< col_size; i++) 
{ 
    for (int j=0; j < row_size; j++) 
    { 
        cout << a[i][j]; 
    } 
} 

但是如何在PHP中使用关联数组呢?

非常感谢!

3 个答案:

答案 0 :(得分:2)

<?php
$array = array(array(1.1, 1.2, 1.3, 1.4), array(2.1, 2.2, 2.3, 2.4), array(3.1, 3.2, 3.3, 3.4));


$_rows = sizeof($array);
$_cols = sizeof($array[0]);

for ($i=0; $i<=$_cols; $i++) 
  {
    for($j = 0;$j<=$_rows; $j++)
      {
        echo $array[$j][$i]. " ";
      }
      echo " \n";
  }
?>

输出

1.1 2.1 3.1    
1.2 2.2 3.2    
1.3 2.3 3.3    
1.4 2.4 3.4    

请参阅http://codepad.org/I2AysS5X

请注意[$j][$i]而不是[$i][$j]

答案 1 :(得分:0)

这样的东西?

for ($i=0; $i< col_size; $i++) 
{ 
    for ($j=0; $j < row_size; $j++) 
    { 
        echo $a[$i][$j]; 
    } 
} 

- )

虽然上述内容不适用于关联数组,但您必须指定关联。

例如,如果X的键位于数组$ foo中,而Y的键位于$ bar中,则可以这样做:

$foo = array('a', 'b', 'c', ...);
$bar = array('1', '2', '3', ...);

foreach ($foo => $x) 
{ 
    foreach ($bar => $y) 
    { 
        echo a[$x][$y]; 
    } 
} 

您可以使用array_keys()提取密钥。

答案 2 :(得分:-1)

for (int $i=0; $i< $col_size; $i++) 
{ 
    for (int $j=0; $j < $row_size; $j++) 
    { 
        echo a[i][j]; 
    } 
} 

注意到你没有使用$

这是一个语法错误

但是php和c ++数组太接近了

你在c ++中做的每件事

可以在php中以相同的方式完成,只是不要忘记变量名中的$