先上程式碼
include "config.php";
$result = mysqli_query($con, "SELECT * FROM `updata_id` ");
$array = array();
while($row = mysqli_fetch_assoc($result)){
$array[] = $row;
}
foreach ($array as $key => $value) {
$arr2 = $value['id'];
$arr3 = $value['node_id'];
//print_r($arr2);
echo implode(";",$arr2);
如果print_r($arr2)會輸出所有id,但是全部黏在一起像這樣
123456789101112
echo implode(";",$arr2)則是沒有東西出來QQ
我是想把它變成
1;2;3;4;5;6;7;8;9;10;11;12
感謝
改成這樣應該可以印出你想要的 1;2;3;4;5;6;7;8;9;10;11;12
include "config.php";
$result = mysqli_query($con, "SELECT * FROM `updata_id` ");
$array = array();
$arr2 = [];
$arr3 = [];
while($row = mysqli_fetch_assoc($result)){
$array[] = $row;
}
foreach ($array as $key => $value) {
$arr2[] = $value['id'];
$arr3[] = $value['node_id'];
}
echo implode(";",$arr2);
真的可以了!!感謝
想請問為什麼一定要在迴圈外echo?
我從頭到尾都在迴圈內修修改改echo了一整天....
$arr2 = $value['id'];
只是把 id 的值,不停的寫入 $arr2 這個變數。
迴圈過程
$arr2 不是陣列是一個數值,會輸出123456789101112
是因為你在迴圈裡面 print_r($arr2)
每跑一次迴圈都印出 $arr2
的值
implode
這個方法要給它一個陣列
所以上面我宣告了 $arr2 = [];
接著在迴圈中把每次的值($value['id'])存入陣列
$arr2[] = $value['id'];
迴圈過程
有了這個陣列以後,在迴圈外面再用 implode(";", $arr2)
這個方法就可以把陣列 轉換成字串,並且用 ;
分隔
我終於看懂了....謝謝你的解說!