ฉันใช้ลูปเพื่อรับค่าจากฐานข้อมูลของฉันและผลลัพธ์ของฉันเป็นดังนี้:
'name', 'name2', 'name3',
และฉันต้องการแบบนี้:
'name', 'name2', 'name3'
ฉันต้องการลบเครื่องหมายจุลภาคหลังค่าสุดท้ายของลูป
ฉันใช้ลูปเพื่อรับค่าจากฐานข้อมูลของฉันและผลลัพธ์ของฉันเป็นดังนี้:
'name', 'name2', 'name3',
และฉันต้องการแบบนี้:
'name', 'name2', 'name3'
ฉันต้องการลบเครื่องหมายจุลภาคหลังค่าสุดท้ายของลูป
คำตอบ:
ลอง:
$string = "'name', 'name2', 'name3',";
$string = rtrim($string,',');
rtrim
เรียกกับตัวแปรนั้น หากคุณยังคงประสบปัญหาให้อัปเดตคำถามของคุณด้วยรหัสที่สร้างการวนซ้ำ
rtrim($string, ',')
เมื่อฉันควรจะเขียน$string = rtrim($string, ',');
ลองใช้รหัสด้านล่าง:
$my_string = "'name', 'name2', 'name3',";
echo substr(trim($my_string), 0, -1);
ใช้รหัสนี้เพื่อลบอักขระสุดท้ายของสตริง
คุณสามารถใช้substr
ฟังก์ชันเพื่อลบสิ่งนี้ได้
$t_string = "'test1', 'test2', 'test3',";
echo substr($t_string, 0, -1);
rtrim
ฟังก์ชัน
rtrim($my_string,',');
พารามิเตอร์ที่สองระบุว่าจะลบเครื่องหมายจุลภาคจากด้านขวา
ใช้ rtrim()
rtrim($string,',');
มันจะส่งผลกระทบต่อสคริปต์ของคุณหากคุณทำงานกับข้อความหลายไบต์ที่คุณใช้ในการย่อย ในกรณีนี้ฉันขอแนะนำอย่างยิ่งให้เปิดใช้งานฟังก์ชัน mb_ * ใน php.ini ของคุณหรือทำสิ่งนี้ini_set("mbstring.func_overload", 2);
$string = "'test1', 'test2', 'test3',";
echo mb_substr($string, 0, -1);
มันง่ายเหมือน:
$commaseparated_string = name,name2,name3,;
$result = rtrim($commaseparated_string,',');
จะดีกว่าถ้าใช้ระเบิดเพื่อจุดประสงค์นั้น Implode นั้นง่ายและยอดเยี่ยม:
$array = ['name1', 'name2', 'name3'];
$str = implode(', ', $array);
เอาท์พุต:
name1, name2, name3
คุณสามารถใช้หนึ่งในเทคนิคต่อไปนี้เพื่อลบเครื่องหมายจุลภาคสุดท้าย (,)
โซลูชันที่ 1:
$string = "'name', 'name2', 'name3',"; // this is the full string or text.
$string = chop($string,","); // remove the last character (,) and store the updated value in $string variable.
echo $string; // to print update string.
แนวทางที่ 2:
$string = '10,20,30,'; // this is the full string or text.
$string = rtrim($string,',');
echo $string; // to print update string.
แนวทางที่ 3:
$string = "'name', 'name2', 'name3',"; // this is the full string or text.
$string = substr($string , 0, -1);
echo $string;
แนวทางแก้ไขที่จะนำไปใช้ระหว่างลูป:
//1 - Using conditional:
$source = array (1,2,3);
$total = count($source);
$str = null;
for($i=0; $i <= $total; $i++){
if($i < $total) {
$str .= $i.',';
}
else {
$str .= $i;
}
}
echo $str; //0,1,2,3
//2 - Using rtrim:
$source = array (1,2,3);
$total = count($source);
$str = null;
for($i=0; $i <= $total; $i++){
$str .= $i.',';
}
$str = substr($str,0,strlen($str)-1);
echo $str; //0,1,2,3
implode
ค่าดั้งเดิมของคุณด้วยเครื่องหมายจุลภาคอย่าวนซ้ำและลบสิ่งต่างๆในตอนท้าย