【问题标题】:Loop through multidimensional array database response to extract data PHP循环遍历多维数组数据库响应以提取数据 PHP
【发布时间】:2013-10-07 07:42:35
【问题描述】:

我想遍历下面的数组并显示一个 HTML 表格,其中一列中的数据来自“类型”,另一列中的数据来自“描述”。

我如何在 PHP 中做到这一点?

下面是我的数组的 print_r。

大批 ( [0] => 数组 ( [id] => 1 [type] => 打印和扫描设备 [has_amenity] => 1 [描述] => 每天请保持在 50 页以内! [owner_desk_id] => 3 [created_at] => 2013-10-07 05:14:06 [updated_at] => 2013-10-07 05:14:06 ) [1] => 数组 ( [id] => 2 [类型] => 气候控制 [has_amenity] => 1 [描述] => 冬天我们有暖气,但没有空调。自带风扇。 [owner_desk_id] => 3 [created_at] => 2013-10-07 16:30:56 [updated_at] => 2013-10-07 16:30:56 ) )

【问题讨论】:

  • 请至少发布一个格式化版本的print_r 输出。 <pre> 标签是你的朋友 -- echo '<pre>', print_r($yourArray),'</pre>';
  • @Amal,你认为应该是print_r($yourArray, true)
  • 或者只是查看页面的源代码,生成一个 HTML-render-free 版本
  • @halfer: Nope.
  • @halfer:您说得对,最好使用带有true 的版本,但另一个也可以。在 this 的情况下,我认为额外的 1 并不重要。

标签: php arrays multidimensional-array


【解决方案1】:

给你:

$i = 0;
while(isset(yourArray[$i])) {
 foreach(yourArray[$i] as $key => $value) {
  if(($key == "value") || ($key == "description")) 
   $resultArray[$i][$key] = $value; //Store in a resultArray or you can even print HTML depending on what you want
 } 
 $i++;
}

以上是从数组中提取特定数据所需执行的循环类型。

【讨论】:

    【解决方案2】:

    这是一个更好的方法(imo):

    $rowCount = count($yourArray);
    for($i=0; $i < $rowCount; $i++) {
        $resultArray[$i]["value"] = $yourArray[$i]["value"];
        $resultArray[$i]["description"] = $yourArray[$i]["description"];
    }
    

    如果您不关心索引,也可以选择第二种方式:

    foreach ($yourArray as $rowNumber => $row) {
        $resultArray[]["value"] = $row["value"];
        $resultArray[]["description"] = $row["description"];
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 2011-01-02
      • 2016-02-16
      • 2021-09-17
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      相关资源
      最近更新 更多