php - 如何对数组进行分组和挂载选择
问题描述
我真的需要你的帮助!如何对数组结果进行分组并组合选择。
数据库
PHP
<?php
$rsPA = $mysqli->query("SELECT * FROM provas_agendadas WHERE status = 'A' ");
foreach ($rsPA as $key => $rsRowPA){
$dis1[] = explode("," , $rsRowPA['disciplinas']);
}
echo '<pre>';print_r($dis1);echo '</pre>';
?>
结果:
Array
(
[0] => Array
(
[0] => EJA-1
)
[1] => Array
(
[0] => EJA-1
[1] => EJA-5
[2] => TTI-1
)
)
Expilando:从数组的结果中,我只会得到后面的数字-
,例如:EJA-1
,我只需要1
,即学科表的ID。
你想要的最终结果
我感谢所有可以帮助我的人。
解决方案
您可以执行一个额外的for
循环,然后将explode
每个元素放在-
最后一部分:
<?php
$rsPA = $mysqli->query("SELECT * FROM provas_agendadas WHERE status = 'A' ");
foreach ($rsPA as $key => $rsRowPA){
$temp = explode("," , $rsRowPA['disciplinas']);
foreach($temp as $elem){
$number = explode('-',$elem);
$number = end($number);
$numbers[] = $number;
}
}
$dis1 = array_count_values($numbers);
echo '<pre>';print_r($dis1);echo '</pre>';
?>
推荐阅读
- pandas - 添加百分比列
- angular - Angular:在 HTTP 获取请求中发送两个以上的参数
- powerbi - 从 Azure Synapse 导入数据时,Microsoft PowerBI 中出现 OLE DB 或 ODBC 错误
- mirth - Mirth Database Reader 无法处理从通道中的数据库检索到的行(索引超出范围)?
- airflow - 气流调试:在 vscode 中运行 DAG 时如何跳过回填作业执行
- sql - 使用 SQL 执行日期拆分并获取给定时间段(2 个日期列)的记录数
- html - 没有文字的内嵌阴影
- javascript - 如何为同一个功能点击事件设置不同的延迟
- apache-spark - 使用 pyspark 过滤数组值
- mongodb - 如何停止对 MongoDB 的写入但允许读取