【问题标题】:result of php array is [value][value], how can i get the result like [value,value]php数组的结果是[value] [value],我怎样才能得到像[value,value]这样的结果
【发布时间】:2019-10-24 03:37:49
【问题描述】:

我有一个来自 php 行的 json 结果类似于 ["value"]["value"]

我曾尝试使用 implode 函数,但它得到了结果 "value""value"

|id_kategori|created_at         |
---------------------------------
|3          |2019-10-21 00:00:00|
|3          |2019-10-23 00:00:00|
|2          |2019-10-23 00:00:00|

我需要该表在数组中按日期显示一天中有多少计数,而不是像日期 23 这样的行,它将显示 "2",日期 21 将显示 "1",但在像 [2,1] 这样的数组中不是[2][1] 结果

foreach ($samples as $jml){
$cek = $this->db->query("SELECT count(*) AS jumlah FROM tb_berita WHERE LEFT(created_at,10) IN ('$jml->tgl2')")->result();
  $names2 = array_column($cek, 'jumlah');
  echo $data['total'] = json_encode($names2);
        }

结果是

["2"]["1"]

我需要最终结果显示 [value,value] 不像 [value][value]。 这意味着结果

["2","1"]

【问题讨论】:

  • 你能告诉我们我们在$names2得到什么
  • $names2 将显示为 json_encode,结果为 ["2"]["1"],但我需要结果为 ["2","1"]
  • 我想知道$names2 = array_column($cek, 'jumlah') 给出了什么?不是 json 编码

标签: php mysql arrays json


【解决方案1】:

[已解决] 我把脚本改成

$grafik = $this->db->query("SELECT DATE_FORMAT(created_at, '%Y-%m-%d') AS tgl , COUNT(*) AS jumlah FROM tb_berita GROUP BY 1 ORDER BY tgl DESC")->result();

        $names = array_column($grafik, 'tgl');
        $data['tgl'] = json_encode($names);

        $names2 = array_column($grafik, 'jumlah');
        $data['total'] = json_encode($names2);

所以我可以在一种情况下从表格中获取日期和行总数。

|date         |count(*)  |
--------------------------
|2019-10-23   |2         |
|2019-10-21   |1         |

【讨论】:

  • 好消息。仍然不太清楚你解决了什么,但很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多