【发布时间】:2019-02-12 12:18:18
【问题描述】:
我正在尝试从数据库中获取一个值,将该值保存为一个数组,然后使用分隔符 : 展开该数组,将第一个值放入同一张表的另一列中,将其余值保留在他们来自。我认为我拥有的代码应该可以解决问题,但是我想要分解的值包含显然不能很好处理的整数(?)。我也不能使用 str_split(),因为我们最近升级到 PHP 7.2 并且不推荐使用 str_split()。我在 Google 上花了很多时间研究替代方案,但我真的不知道它们对我有什么帮助。
这是我最近的尝试,使用 str_word_count():
$queryGetStrings = 'SELECT roleText FROM table1.tempRoles';
$resultGetStrings = mysqli_query($conn,$queryGetStrings) or die("<br> <br>".$queryGetStrings."<br><br>".mysqli_error($conn));
$resultsArray = mysqli_fetch_all($resultGetStrings);
$explode_row = str_word_count($resultsArray, 1, '_123456789');
foreach($resultsArray as $key => $row) {
//Line below is from my explode attempt
//$explode_row = explode(":", $row);
$addSplitColumns = "UPDATE table1.tempRoles SET `user` = '" . $explode_row[0] . "'";
$executeSplitColumns = mysqli_query($conn, $addSplitColumns) or die("<br><br>" .
$addSplitColumns . "<br><br>" . mysqli_error($conn));
有人能推荐一种替代方法吗?我对后端编程比较陌生,所以我的存储库充其量是黯淡的。我很感激任何建议。
【问题讨论】:
-
您是否尝试过使用整数进行爆炸 - 不知道您是从哪里得到有问题的想法。
-
“包含爆炸显然不能很好处理的整数(?)”显然?你在哪里读到的?
-
我在这段代码中遇到的一个错误是关于整数的,这让我相信也许爆炸不是正确的方法。从你的回答来看,我认为我错了
-
数据值实际上是什么样的?
-
警告而不是错误如下:'警告:explode()期望参数2是字符串',它指的是$explode_row = explode(":", $row);我现在没有评论。我还注释掉了 str_word_count 行
标签: php arrays foreach explode