php - 如何从数据库中提取数组的字符串值?
问题描述
我有这个从数据库回显中获得的文本字符串 varchar 类型。如何提取它并计算值:
在数据库中,它在 varchar 中保存为字符串 ["1","2","3"]。如何使用 php 将其计为 3 项?
我的 sql 代码是:
$sql2 = "SELECT * FROM il_dcl_stloc1_value WHERE record_field_id = '$exc_prt_id'";
$result2 = $conn->query($sql2);
while($row2 = $result2->fetch_assoc()) {
$exc_prt_id1 = $row2['value'];
echo "$exc_prt_id1"; // this will result ["1","2","3"]
}
解决方案
有很多方法可以做到这一点,但如果你只关心计数,而不是值,并且它们总是以这种格式出现,你可以使用
$count = count(explode(",", $exc_prt_id1));
你也可以做一个
$count = count(json_decode($exc_prt_id1));
如果您想要这些值,请运行上面的代码而不进行计数。
$arr = json_decode($exc_prt_id1);
这将产生一个 PHP 数组。
虽然第二个选项通常是首选并且是更好的做法,但第一个选项在某些情况下可能有用。如果有什么不清楚的,尽管问:)
推荐阅读
- python - 如何将拆分字符串转换为数字数组?
- swift - 尝试添加要解析的类时出现“架构类名不重新验证”错误
- javascript - 我想用两个 javascript 使用同一个 Firebase 应用程序
- reactjs - 如何在生产中修复反应路由器 404 错误
- ajax - ASP.NET Core API POST 参数在 Firefox 中始终为空
- webforms - 从数据库检索数据时如何在按钮单击时传递查询字符串
- java - 为什么 ArrayList 流不报告 CONCURRENT 特征?
- devexpress - 如何从数据表中移动分页并使其工作
- php - 用另一个数组填充数组中的空白索引值
- angular - 在角度 5 中对异步等待功能进行单元测试