Browsing articles in "PHP"
May 25, 2011
แว่นตก

วิธีการหาตัวเลขแบบไม่ซ้ำ ใน array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$num=3;
$arr = array("1","2","3","4","5","6","7","8");
$count_arr=count($arr);
 
$arrName= array();
 
$idx=0;
 
while($idx<$num) 
{
	$id_rand = rand(0,$count_arr-1);
	if (!in_array($arr[$id_rand],$arrName))
	{
		$arrName[$idx]=$arr[$id_rand];
		$idx++;
	}
} 
 
print_r($arrName);
?>

โดยที่
$num คือ จำนวนตัวเลขที่ต้องการ
$arr คือ array ที่เก็บข้อมูลตัวเลข

 

จริง ๆ แล้วเอาไปประยุกต์ใช้กับตัวอักษรก็ได้นะ :)

 

May 25, 2011
แว่นตก

ตรวจสอบ IP Address จริง

ในบางครั้งเราต้องการตรวจสอบคนที่เข้ามาใช้เวปเรา และโดยส่วนมาแล้วจะตรวจสอบโดย
check IP Address ซึ่งถ้าเราใช้

1
2
3
4
<?php
    $ip=getenv(REMOTE_ADDR);
    print  "IP Address is $ip";
?>

เราก็จะได้ IP Address มา แต่ก็ถ้าเครื่องนั้น ๆ ใช้ Proxy Server เราจะได้ IP Address ของ
Proxy มาแทน ซึ่งเราควรแก้ไข code ที่ใช้ มาเป็น

1
2
3
4
5
6
7
if (getenv(HTTP_CLIENT_IP)) {
      $ip = getenv(HTTP_CLIENT_IP);
} elseif (getenv(HTTP_X_FORWARDED_FOR)) {
      $ip = getenv(HTTP_X_FORWARDED_FOR);
} else {
      $ip = getenv(REMOTE_ADDR);
}

 

จะทำให้เราได้ IP Address ของเครื่องนั้น ๆ จริง ๆ

 

May 25, 2011
แว่นตก

ข้อแตกต่าง ระหว่าง “ กับ `

หลายคน คงเคยใช้ ” กับ ` แต่อาจจะยังไม่ทราบ ถึงข้อแตกต่างระหว่างสองตัวนี้

สมมุติว่า เรา เขียน code ตามข้างล่างนี้

1
2
3
4
5
<?php
   $a='test';
   echo '$a';  //  ผลลัพธ์คือ  $a
   echo "$a";  // ผลลัพธ์คือ  test
?>

ซึ่งจะแสดงให้เห็นว่า เครื่องหมาย ` จะให้ผลลัพธ์ออกมาเลย
ส่วนเครื่องหมาย ” จะนำค่าไปประมวลผลก่อน จึงจะแสดงผล

ดังนั้น (อันนี้คือข้อแนะนำนะ)
ถ้าเราต้องการแค่แสดงผล
แนะนำให้ใช้เครื่องหมาย ` นะครับ จะทำให้ code เราประมวลเร็วขึ้น

 

ขอให้มีความสุขในการเขียน code นะครับ

 

จริง ๆ แล้วผมก็ไม่รู้มาก่อนหรอกนะ
ต้องขอขอบคุณน้อง ATT@MKT ด้วยนะครับ :)

 

May 25, 2011
แว่นตก

เพิ่มความเร็วการทำงานของ loop

โดยส่วนมากแล้ว เวลาเขียน php มักจากหนีไม่พ้นจากการเขียน loop ซึ่งถ้าเขียน

1
2
3
for ($a=0;$a=count($array_name);$a++) {	
	do some thing...
}

จะทำให้การทำงานของ loop นานขึ้น

แต่ถ้าเปลี่ยนเป็น

1
2
3
4
$count=count($array_name);
for ($a=0;$a=$count;$a++) {	
	do some thing...
}

จะช่วยลดการทำงานของ loop ให้ทำงานเร็วขึ้น

 

Pages:«12