[PHP] ขอสอบถามเรื่องค่าว่าง และ 0

เริ่มโดย G1, 13 มีนาคม 2016, 14:42:50

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

G1

เลข 0 ที่ได้มาเกิดจากการ explode จาก string

ตัวอย่าง
$string = "test-0";
$zero = explode("-",$string);

if($zero[1] != ""){
   echo $zero[1];
}

คือผมต้องการให้ 0 มีค่าเป็นตัวเลข แต่เวลาเอาไปเช็ค if 0 จะมีค่าเป็นค่าว่าง หรือไม่มีค่าตลอดเลย พอใช้ intval เข้าช่วย ค่าที่มันเป็นค่าว่าง "" ก็จะมีค่าเป็น 0 ไปด้วย
ไม่ทราบว่าต้องทำยังไง ให้ 0 มีค่าเป็นตัวเลขเพื่อที่จะเช็ค if ได้ครับ

ขอบคุณครับ :wanwan017:
[direct=https://goo.gl/9jmoQX]RDP Windows สำหรับอัพโหลดไฟล์ เร็วมากๆ เริ่มที่ต้นที่ $3.99 / เดือน[/direct]
[direct=https://bit.ly/3js5C4w]ค่าธรรมเนียมลดลง 10% เมื่อเทรด Cryptocurrency bitcoin กับ Binance[/direct]

necrotorture


SEnzoP

เช็คแบบนี้แทนได้ไหมครับ
if($zero[1] !== "")

goldxp

[direct=http://web-programming-bookmark.blogspot.com/p/blog-page.html]รับแก้ไขเว็บ[/direct]

Sith9


nscyber

ลองดูนะครับ
- อันนี้จะเชค็ว่าถ้าตัดแล้วไม่เป็นค่าว่าง(ไม่ว่างเท่านั้น)จะมาทำการแปลงเป็นเลข
- เลขหลังจากนั้นจะทำไรต่อก็ว่าไป(แต่หลัง - ต้องเป็นตัวเลขเท่านั้นถ้ามีตัวหนังสือบนต้องเล่นพวก regex ด้วย)
- ถ้าไม่ใช่จะบอกว่าเป็นค่าว่างนะ (จะเปลี่ยนเป้นคำนวณไรก็ได้)

ลองดูครับ

$string = "test-";
$zero = explode("-",$string);
if($zero[1]!=null)
{
  echo $zero = intval($zero[1]);
}
else
{
  echo 'ไม่มีตัวเลข';
}


nscyber

อีกแบบนะครับดีกว่าแบบแรก
- ใช้ is_numeric แทนเพื่อดูว่าค่าที่ตัดนั้นมีตัวหนังสือผสมไหม ถ้ามีจะบอกว่า ไม่มีตัวเลข (is_numeric คือตรวจว่าค่านั้นเป็นตัวเลขไหม)
- ถ้าไม่มีตัวหนังสือผสมจะถูกแปลงเป็น ตัวเลขทันที

$string = "test-85aa";
$zero = explode("-",$string);
if(is_numeric($zero[1]))
{
  echo $zero = intval($zero[1]);
}
else
{
  echo 'ไม่มีตัวเลข';
}

G1

ขอบคุณทุกท่านมากนะครับ +1 ให้ทุกท่านเลย เดี๋ยวขอตัวลองก่อน เกิดผลยังไง จะมาสอบถามอีกรอบนะครับ
[direct=https://goo.gl/9jmoQX]RDP Windows สำหรับอัพโหลดไฟล์ เร็วมากๆ เริ่มที่ต้นที่ $3.99 / เดือน[/direct]
[direct=https://bit.ly/3js5C4w]ค่าธรรมเนียมลดลง 10% เมื่อเทรด Cryptocurrency bitcoin กับ Binance[/direct]

DevLism

ไม่มี