รบกวนเรื่องArrayอีกครั้งครับ รบกวนด้วยครับ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

Phutawan

รบกวนเรื่องArrayอีกครั้งครับ รบกวนด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย Phutawan »

- ต้องการจะเอาArrayแรก และ Array 4 ตัวสุดท้ายออกจะทำอย่างไรครับ
<?
include("header.inc.html");
?>
<?
print_r($_POST);
echo "<br>";

$project_id = $_REQUEST['project_id'];
echo "<br>";
echo "ID :", $project_id,"<br>" ;

$n = count($_POST);
echo "Count = ",$n,"<br>";

//ที่พี่ท่านหนึ่งลองทำแล้วไม่ได้ครับ รบกวนด้วยครับ$updatedata = array();
foreach ($_POST as $topic_id => $item)
{
if ($topic_id == (int) $topic_id)
{
$updatedata[$topic_id] = $item;
}
}
print_r($updatedata);

$comment1 = $_POST["textarea"];
$comment2 = $_POST["textarea2"];
$comment3 = $_POST["textarea3"];

echo "<br>";
echo "ความคิดเห็นที่ 1",$comment1,"<br>" ;
echo "ความคิดเห็นที่ 2",$comment2,"<br>" ;
echo "ความคิดเห็นที่ 3",$comment3,"<br>" ;
?>

สิ่งที่ออกมาครับ
Array ( [project_id] => 1 [567] => 26 [568] => 28 [571] => 41 [textarea] => [textarea2] => [textarea3] => [Submit] => บันทึกข้อมูล )

ID :1
Count = 8
Array ( [project_id] => 1 [567] => 26 [568] => 28 [571] => 41 [textarea] => [textarea2] => [textarea3] => [Submit] => บันทึกข้อมูล )
ความคิดเห็นที่ 1
ความคิดเห็นที่ 2
ความคิดเห็นที่ 3
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41379
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: รบกวนเรื่องArrayอีกครั้งครับ รบกวนด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

each() แต่ละครั้ง มีนจะไปที่ key ถัดไปของ array นั้นๆครับ
ลองใช้ function each ดูครับ
หรือ จะ ใส่ Loop และ เพิ่มตัวเลขประจำแต่ละ loop เอา
ใน loop ก็ถ่ายว่าไปใส่ตัวแปล array อีกตัวหนึ่ง

โค้ด: เลือกทั้งหมด

$i=0;
$a_new = array();
$n = count($a);
foreach($a as $k=>$v){
 $i++;
 if($i>1 && ($i<$n-4) ) {
  $a_new[$k] = $v;
}
}
 
จะได้ $a_new เอาไปใ้ช้ต่อครับ

ปล.ยังไม่ได้debug นะครับเขียนสดๆ ลองเอาไปรันดูครับ $a คือตัวแปล array ที่รับเข้ามาใช้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
4404

Re: รบกวนเรื่องArrayอีกครั้งครับ รบกวนด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย 4404 »

ขอบคุณคุณ mindphp มากครับจะลองทำดู ผลอย่างไรจะมารายงานครับ
ภาพประจำตัวสมาชิก
secivon
PHP Full Member
PHP Full Member
โพสต์: 35
ลงทะเบียนเมื่อ: 24/03/2009 5:15 pm

Re: รบกวนเรื่องArrayอีกครั้งครับ รบกวนด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย secivon »

กรณีนี้ แนวคิดไม่น่าจะอยู่ที่การเอา element ณ ตำแหน่งใดๆออก แต่น่าจะเป็นการเลือกเฉพาะ Hash ที่มี Key เป็นตัวเลขมาใช้มากกว่ามั๊งครับ

+ ไม่แน่ใจว่า syntax ของ type casting ใน PHP มันได้ผลลัพธ์เหมือน C ทุก case หรือเปล่า

ลองเปลี่ยน

โค้ด: เลือกทั้งหมด

if ($topic_id == (int) $topic_id)
เป็น

โค้ด: เลือกทั้งหมด

if(is_int($topic_id))
หรือ

โค้ด: เลือกทั้งหมด

if ($topic_id == int_val($topic_id)) 
ดูครับ


ปล.สามารถใช้วิธีตั้งชื่อ ของ form element ใน page ก่อนหน้านี้เอาได้นะครับ เช่น

โค้ด: เลือกทั้งหมด

<input name="to_update[576]" value="26">
ผลลัพธ์ก็จะมาอยู่ใน $_POST['to_update']['576'] เลย
"อย่าเอาแต่โทษเด็ก ถ้าเด็กมันจะห่วย ดูตัวเองบ้างว่าทำบ้านเมืองไว้เป็นยังไง"
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41379
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: รบกวนเรื่องArrayอีกครั้งครับ รบกวนด้วยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ถ้ารับ input มาก็ควรตั้งชื่อ key ที่ต้องการใช้จะดีกว่านะครับ
ตามแบบที่ ท่าน secivon แนะนำ กำหนดเอาตอน input
ส่วนถ้ายืนยันจะเอาแบบเดิมก็ลองดูโค้ดที่ผมแนะนำ (ช่วยแก้ปัญหาตามที่ถามมาครับ)
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 129