【发布时间】:2014-10-14 02:40:59
【问题描述】:
我的问题很简单。我的表格中有一个标有“区域”的列,如下所示:
马南海岸
ma_south-caost
ma_north
ca_los-angelos
ca_los-angelos
我希望能够只选择“ma”。我正在尝试做一些事情,例如:
$res_area = mysqli_query($connection,"select area from users");
while ($row_state = mysqli_fetch_array($res_area)) {
$state_exp = reset(explode("_", $row_state['area']));
}
此时打印 $state_exp 会给我:mamamacaca,这很好。但我想过滤,所以我只得到 ma 的。
【问题讨论】:
-
您需要使用过滤器——explode 不会像您希望的那样为您工作。 php.net/manual/en/function.array-filter.php 如果您在 SQL 查询中使用 LIKE 或 SUBSTRING 执行此操作会更好。
-
您希望通过 SQL 查询还是在 PHP 中执行此操作?
-
谢谢@JayBlanchard 我不确定是否可以。我也许可以在 SQL 查询中做到这一点?我正在想象从用户那里选择区域的东西,其中 [当前值] == [使用爆炸的变量的前两个字母]
标签: php mysql arrays filter while-loop