|
|
|
วิธีเช็คค่าแบบ array รบกวนเวลาทุกๆ ท่าน หน่อยนะครับ |
|
|
|
|
|
|
|
ประมาณนี้ เขียนสดนะ อาจจะผิด
Code (PHP)
$size1 = sizeof($data);
$size2 = sizeof($cate);
for($i=0;$i<$size2;$i++)
{
for($j=0;$j<$size1;$j++)
{
if ($cate[$i] == $data[$j])
{
echo $cate[$i];
}
}
}
|
|
|
|
|
Date :
2011-12-01 10:40:15 |
By :
grandraftz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$cate ไม่ใช่ array หรอครับ
** ขอรายละเอียดมากกว่านี้หน่อยนะครับ ทางเราและผู้เชียวชาญระดับสูง เขาจะได้เข้าใจและเข้ามาตอบให้ และจะทำให้เรามีแนวคิดเหมือนกัน
|
|
|
|
|
Date :
2011-12-01 10:44:19 |
By :
compeng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$cate ไม่ใช่ arrary ครับ เป็น string ที่มี | ขั้นครับ
|
|
|
|
|
Date :
2011-12-01 12:15:16 |
By :
bang_a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$a1=array('2674','2675','2677');
$cate = '|2675|2849|';
// แตก string ออกเป็น array โดยใช้สัญลักษณ์ | เป็นตัวแบ่ง
$a2=explode("|",$cate);
// พอแบ่งได้แล้ว ค่าตัวแรก และค่าตัวสุดท้ายจะเป็น null เพราะสังเกตจาก string จะเห็นว่า เริ่มต้นด้วย | และจบด้วย |
// เราต้องกำจัด element ที่เป็น null ทิ้ง ไม่อย่างงั้น จะไม่สามารถใช้ function array_intersect() ได้
// เอา element ตัวแรกออกจาก array
array_shift($a2);
// เอา element ตัวสุดท้ายออกจาก array
array_pop($a2);
// array_intersect() จะทำการตรวจดูว่าใน array สองตัวนี้มี value อันไหนไหมที่เหมือนกัน
print_r(array_intersect($a1,$a2));
// ผลลัพธ์ คือ Array ( [1] => 2675 )
?>
|
ประวัติการแก้ไข 2011-12-02 00:38:20
|
|
|
|
Date :
2011-12-02 00:26:38 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ถ้าสามารถแก้ไข string ให้เป็นอย่างตัวอย่างนี้ได้ ก็ง่ายเลย
Code (PHP)
$data = array('2674','2675','2677');
$cate = '2675|2849';
//คือเอา | ออกจากตอนแรกและตอนจบ
โค้ดก็จะเหลือแค่นี้
Code (PHP)
<?php
$a1=array('2674','2675','2677');
$cate = '2675|2849';
$a2=explode("|",$cate);
print_r(array_intersect($a1,$a2));
?>
|
|
|
|
|
Date :
2011-12-02 00:47:49 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|