【问题标题】:foreach result only first letters of each rowforeach 仅结果每行的第一个字母
【发布时间】:2018-07-26 03:47:07
【问题描述】:

我从函数中获取数组,然后在 foreach 上使用它,它会打印所有行,当我在数组后使用 [0] 时如何打印特定行,它只显示两行的第一个字母。

PHP 函数:

    public function selectedOffer($model_id){
    $qq = mysqli_query($this->connection,"SELECT offerId FROM offers WHERE model_id='$model_id' ORDER BY id ASC");
    $results = array();


    while ($result = mysqli_fetch_array($qq)) {
    $results[] = $result;
    }
    return $results;
}

FOREACH PHP

    foreach ($mUser->selectedOffer($modelid) as $key) {
    echo $key['offerId'][0];
}

当我删除 [0] 时,它也会打印两行。 我的问题是如何打印我想要的第一行或第二行或哪一行?

【问题讨论】:

  • 你能显示结果 print_r($results) 的结构吗?
  • 我同意 Deadman,在您的问题中包含一个数组。我很确定有一些你可能感兴趣的完全不需要循环的答案。
  • 我刚刚更新到这个:$data = $mUser->selectedOffer($modelid);回声 $data[0]["offerId"];成功了,谢谢。
  • 好吗?那是什么答案?上面的两个 cmets 都要求数组结构,你回答如何获取数据变量。
  • 这里有: Array ( [0] => Array ( [0] => test1 [offerId] => test1 ) [1] => Array ( [0] => TEST1 [offerId ] => TEST1))

标签: php arrays foreach


【解决方案1】:

获取特定/第一行,s列

  $data = $mUser->selectedOffer($modelid);
  echo $data[0]["offerId"];

以及所有行列

   foreach ($data as $key) {
        echo $key['offerId'];
   }

【讨论】:

    【解决方案2】:

    使用 implode 和 array_column 在一行代码中回显一个完整的数组列:

    echo implode("", array_column($yourarray, "offerId"));
    

    内爆的第一个参数是应该加入数组中的项目。
    你和接受的答案没有什么是""的原因,但如果你想在数组的每个项目之间换行,它可以替换为:"<br>\n"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多