3 回答

TA貢獻1788條經驗 獲得超4個贊
0 索引為空的原因是因為在這部分中使用preg_splitpreg_split("//",時,第一個參數是/用作分隔符的正則表達式,因此您將字符串拆分為空字符串。
$pattern = "//";
$string = "1//3";
print_r(preg_split($pattern, $string));
輸出
Array
(
[0] =>
[1] => 1
[2] => /
[3] => /
[4] => 3
[5] =>
)
如果您想使用 preg_split with/作為分隔符并拆分,//則必須轉義正斜杠。
$pattern = "/\/\//";
如果您使用另一個分隔符,例如~模式看起來像
$pattern = "~//~";
正如已經指出的,您可以使用explode代替
$string = "1//3";
print_r(explode("//", $string));
輸出
Array
(
[0] => 1
[1] => 3
)

TA貢獻1111條經驗 獲得超0個贊
正如評論中所說,為什么你有 2 個循環?一個就足夠了,您不需要拆分字符串:
while($row = $result->fetch_assoc()) {
$sql = "SELECT `Nome`,`Agrupamento` FROM `Users` WHERE `ID`='" . $row["ID"] . "'";
$result2 = $conn->query($sql);
$row2 = $result2->fetch_assoc();
echo($row2["Nome"] . "+" . $row2["Agrupamento"] . "+". $row["Id2"] . "/");
}
此外,您最好使用 JOIN 而不是在循環中執行第二個 SELECT 。我不能說更多,因為我們不知道數據庫的架構以及數據庫是什么。
- 3 回答
- 0 關注
- 133 瀏覽
添加回答
舉報