|
|
|
ทำอย่างไรให้ ความยาว string 1 และ string 2 ผลลัพเท่ากับ 0 |
|
|
|
|
|
|
|
จะตัด string หรือเปล่าครับ ลองใช้ substr()
Go to : PHP substr()
|
|
|
|
|
Date :
2011-07-19 20:22:44 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$a = "a";
$b="a"
echo strcmp($a,$b); #อันนี้จะได้ 0
คำสั่ง strcmp คือคำสั่งเปรียบเทียบความถูกต้องว่าเหมือนกันเท่ากันหรือเปล่าน่ะครับ
หากจะนับค่า ให้ใช้ strlen นับ ดีกว่าครับ
|
|
|
|
|
Date :
2011-07-19 20:26:04 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับผม เด๋วผมขอลองก่อนนะครับ
|
|
|
|
|
Date :
2011-07-19 20:35:01 |
By :
phpnew |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันดูความแตกต่าง ของ ตัวพิมพ์เล็กพิมพ์ใหญ่ด้วยนะครับ ดูที่อักษรพิมพ์ได้และไม่ได้
เพราะมันดูที่ ไบต์ ครับ a > A หรือ 2 > 12
เป็นต้น
|
ประวัติการแก้ไข 2011-07-19 21:49:08
|
|
|
|
Date :
2011-07-19 20:46:02 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมขอรบกวนอีกหน่อยนะครับ คือ
if(str1==str2){
echo 'true';
}
ความยาว length เท่ากันนะครับ แต่ไม่เข้า if ให้อ่ะครับ แล้วพอผมใช้ strcmp(str1,str2);
ผลลัพของมันคือ -1 ทั้งที่ ข้อความ string ทั้ง2 string เหมือนกัน ความยาวlenght เท่ากันแต่ไม่เข้า if ให้ ผมก็เลย งง อ่ะครับ ช่วยที่ครับ
|
|
|
|
|
Date :
2011-07-19 21:32:06 |
By :
phpnew |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ตัวอักษรเหมือนกันทุกตัวเลยนะครับ เว้นวรรคก็เหมือนกันนะครับ ตัวอักษรพิมพ์ใหญ่พิมพ์เล็กเหมือนทุกตัวเลยครับ
|
|
|
|
|
Date :
2011-07-19 21:40:58 |
By :
phpnew |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ str1 กับ str2 มันไม่เหมือนกันนิครับ ต่างกันตรงเลข 1 กับ 2 มันก็เลยไม่เข้า if ความหมายมันคือ
ถ้า str1 เท่า กับ str2 คำว่า เท่ากับ ไม่ได้หมายถึง จำนวนตัวอักษร ครับ หมายถึง string ที่เหมือนกัน
ส่วน strcmp ไปทำความเข้าใจกับฟังชั่นนี้ใหม่นะครับ มันไม่ได้ เปรียบเทียบ ความยาวตัวอักษรนะ ผมบอกไปคอมเมนต์บนแล้ว
มันดูที่ค่าไบต์ด้วยครับ นั่นก็คือเปรียบเทียบด้วยไบต์
|
|
|
|
|
Date :
2011-07-19 21:48:48 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็เหตุที่ใช้ strcmp แล้ว เช็คด้วย if ก็ ก็ถ้าเกิดมันเท่ากัน มันคืนค่าเป็น 0 นิครับ
if มันมอง 0 เป็น fault นิครับ มอง 1 เป็น true
ที่คุณบอกว่า ทั้งๆที่ทั้งสอง string เหมือนกันหมดทุกอย่าง แต่ทำไมเข้า else ซึ่งก็ถูกของ if แล้วที่ส่งไป else
เพราะ strcmp มันคืนค่ามาเป็น 0 ครับ
|
ประวัติการแก้ไข 2011-07-19 21:56:17
|
|
|
|
Date :
2011-07-19 21:54:53 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ววิธีแก้ควรจะทำไงหรอคครับ ช่วยแนะแนวทางให้หน่อยครับ
|
ประวัติการแก้ไข 2011-07-19 21:58:27
|
|
|
|
Date :
2011-07-19 21:57:30 |
By :
phpnew |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้บอกจุดประสงค์จริงๆมาดีกว่าครับ ว่าต้องการจะเขียนระบบอะไร ยังไง
จะได้แนะแนวทางให้ถูกครับ ว่าฟังชั่นไหนควรจะเอามาใช้ได้เหมาะสมกว่า
|
|
|
|
|
Date :
2011-07-19 22:00:15 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือผมเขียนโปรแกรมดึงไฟล์ config มาจาก router cisco ครับซึ่งเป็นไฟล์ config.txt และผมมีไฟล์ config.txt ที่ถูกต้องของ ccna อยู่อ่ะครับ ผมอยากที่จะ ใช้เปรียบเทียบไฟล์สองไฟล์ ระหว่างไฟล์ที่ดึงมาได้กับไฟล์ที่มีอยู่แล้วครับ ก็คือให้ string check string ระหว่างไฟล์ยกตัวอย่างเช่น hostname R1 อยู่ในไฟล์ config ที่ดึงมาได้แล้วมา check กับ hostname R1 ที่อยู่ในไฟล์ config ที่มีอยู่ ถ้าทั้งสองไฟล์เหมือนกัน ให้ echo true ออกมา ถ้าเช็คแล้ว String ไม่ตรงกัน ให้ echo false ออกมาครับ
รบกวนช่วยทีครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2011-07-19 22:18:18 |
By :
phpnew |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองศึกษาฟังชั่นนี้ดูครับ levenshtein()
ผมว่าน่าจะเวอร์คกว่ strcmp() เยอะเลย
|
|
|
|
|
Date :
2011-07-19 22:44:10 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับขอบคุณมากๆครับ
|
|
|
|
|
Date :
2011-07-19 23:29:35 |
By :
phpnew |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|