【问题标题】:Need help in php associative array在php关联数组中需要帮助
【发布时间】:2011-09-27 18:51:07
【问题描述】:

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

如果我有一个数组的例子

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 中使用关联数组来完成呢?

非常感谢!

【问题讨论】:

  • 给出的答案是否回答了您的问题?

标签: php


【解决方案1】:
<?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]

【讨论】:

    【解决方案2】:

    这样的?

    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() 提取密钥。

    【讨论】:

      【解决方案3】:
      for (int $i=0; $i< $col_size; $i++) 
      { 
          for (int $j=0; $j < $row_size; $j++) 
          { 
              echo a[i][j]; 
          } 
      } 
      

      刚刚注意到你没有使用$

      这是一个语法错误

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

      以及你在 C++ 中所做的每一件事

      在 php 中也可以这样做,只是不要忘记变量名中的 $

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-27
        • 2016-02-13
        • 2011-09-24
        • 1970-01-01
        • 2016-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多