Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ถามผู้รู้เกี่ยวกับฟังก์ชั่นในการเปรียบเทียบค่าใน array



 

ถามผู้รู้เกี่ยวกับฟังก์ชั่นในการเปรียบเทียบค่าใน array

 



Topic : 015307

Guest




เราโหลดไฟล์จาก .txt มา แล้วมาเก็บในตัวแปรชื่อ $string
มันจะถือว่า แต่ละบรรทัด เป็นอาเรย์ index ที่ 0 ถึง n บรรทัด ใช่ไหมคะ

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

start 1 2 3
1 2 3
end 1 2 start
text 4 5 text

$array
0=>start
1=>null
2=>end
3=>text

null คือ ไม่มีค่าอะไรเก็บไว้นะคะ

ทีนี้ เราจะวนลูปอีกรอบ เพื่อดูว่า ค่าใน $array ค่าใดบ้าง ที่ เหมือนกับ คำที่ 3 (นับจาก 0)

ทีนี้ แต่ละบรรทัด เราก็เอามาแยกเป็นคำๆ โดยใช้
strtok โดยเก็บเป็นอาเรย์เช่นกัน เช่น
จะได้ว่า

for($i=0; $i<count($string); $i++){
$tok[0] = strk($string[$i], " \n\t"); // i = 0 >start
$tok[1] = strtok(" \n\t"); // i = 0 >1
$tok[2] = strtok(" \n\t"); //i= 0 >2
$tok[3] = strtok(" \n\t"); //i= 0 >3

// ทำแบบนี้ทุกบรรทัดคะ
}
เราต้องการเปรียบเทียบ $tok[3] ว่ามีค่าเท่ากับค่าใดๆ ใน อาเรย์ $array หรือไม่ จะเปรียบเทียบอย่างไรคะ
ลองทำแบบนี้ดูแล้ว มันไม่เข้าเงื่อนไขให้คะ

for($i=0; $i<count($string); $i++){
$tok[0] = strk($string[$i], " \n\t"); //This
$tok[1] = strtok(" \n\t"); // is
$tok[2] = strtok(" \n\t"); //text

for($j=0; $j<count(string); $j++){
if($tok[2]==$array[$j){ // มันไม่เข้าเงื่อนไขนี้คะ
$tok[2] = $j;
}
}
}
คำถาม 1
ถ้าดูจาก บรรทัดที่ 2 (บรรทัดแรกเป็น 0) $pretok[3] มันจะเท่ากับ $array[0] แต่มันกลับบอกว่า ไม่เท่ากัน เป็นเพราะอะไรคะ

คำถาม 2 จะเปรียบเทียบอย่างไรดีคะ มีวิธีอะไรบ้าง

ปล. แต่ถ้าเป็นในกรณี เป็นบรรทัดเดียวกัน มันเข้าเงื่อนไขให้คะ ไม่รู้ว่าเป็นที่ อัลกอริทึมหรือเปล่า รบกวนผู้รู้ช่วยตอบให้ด้วยคะ ขอบคุณค่ะ




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 28 ส.ค. 2550 13:18:36 By : -๑-นางฟ้าชามะนาว-๑- View : 2633 Reply : 1
 

 

No. 1

Guest


Code
array_diff


Code (PHP)
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>







Date : 2012-06-23 09:12:04 By : tc
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามผู้รู้เกี่ยวกับฟังก์ชั่นในการเปรียบเทียบค่าใน array
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่