繁体   English   中英

php从数组中获取特定列的所有值

[英]php getting all values of a specific column from an array

Array ( [0] => Array ( [No.,"Ticker","Company"] => 
                        1,"A","Agilent Technologies Inc." ) 
        [1] => Array ( [No.,"Ticker","Company" ] => 
                        2,"AA","Alcoa, Inc.") 
      )

这是我输入 print_r($arrayOne) 时的输出; 我该怎么做,我只能得到 Company 列,即 Agilent Technologies Inc 和 Alocoa, Inc。

我试过 echo $arrayOne['Company'] 和 $arrayOne[0]['Company'] 但它只是输出了'Array'。

您拥有的是一个带有两个子数组的外部数组,每个子数组只有一个值。 它的key是3列的描述,value是CSV值。 如果你有 PHP 5.3,使用str_getcsv()解析它并返回第三列

// Loop over the outer array
foreach ($arrayOne as  $subarr) {
  // Loop over the sub-arrays (though your sample only has one value each)
  // could also use array_pop()
  foreach ($subarr as $key => $csvstring) {
    // $csvstring holds the CSV value like  '1,"A","Agilent Technologies Inc."'
    // Parse it with str_getcsv()
    $cols = str_getcsv($csvstring);
    // Company name is the 3rd value, key [2]
    echo $cols[2] . "\n";
  }
}

例如输入:

$arrayOne = array(
  array('No.,"Ticker","Company"' => '1,"A","Agilent Technologies Inc."' ), 
  array('No.,"Ticker","Company"'  => '2,"AA","Alcoa, Inc."') 
);
// The above loop prints:
Agilent Technologies Inc.
Alcoa, Inc.

你的数组应该是这样的:

$arrayOne = array(array('no' => 1, 'ticker' => 'A', 'company' => 'Agilent Technologies Inc.'),
                  array('no' => 2, 'ticker' => 'AA', 'company' => 'Alcoa Inc.'));

echo $array[0]['company']; // will print Agilent Technologies

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM