首页 > 解决方案 > 如何从数据库中提取数组的字符串值?

问题描述

我有这个从数据库回显中获得的文本字符串 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"]

}

标签: phpmysqlarrays

解决方案


有很多方法可以做到这一点,但如果你只关心计数,而不是值,并且它们总是以这种格式出现,你可以使用

$count = count(explode(",", $exc_prt_id1));

你也可以做一个

$count = count(json_decode($exc_prt_id1));

如果您想要这些值,请运行上面的代码而不进行计数。

$arr = json_decode($exc_prt_id1);

这将产生一个 PHP 数组。

虽然第二个选项通常是首选并且是更好的做法,但第一个选项在某些情况下可能有用。如果有什么不清楚的,尽管问:)


推荐阅读