从数据库操作字符串


Manipulating String from Database

我有一个包含字段studentIdAttendaceStatus的表

AttendanceStatusvarchar(2)类型字符串。它的值是"PPPPAAAPPP"

我如何计数' p '和'A'的数量,并显示在一个PHP文件?

可以直接使用sql查询:

SELECT SUM(CASE WHEN AttendaceStatus = 'P' THEN 1 ELSE 0 END ) AS present, SUM( CASE WHEN AttendaceStatus = 'A' THEN 1 ELSE 0 END ) AS absent
FROM tablename

您可以实现一个简单的循环,计算给定字符串中字符的出现次数:

<?php
$input = 'PPPPAAAPPP';
$counts = [];
foreach (str_split($input) as $char) {
  if (isset($counts[$char])) {
    $counts[$char]++;
  } else {
    $counts[$char] = 1;
  }
}
print_r($counts);
上面代码的输出是:
Array
(
    [P] => 7
    [A] => 3
)