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

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

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

Phutawan

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

Post by 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
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25527
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp »

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

Code: Select all

$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อีกครั้งครับ รบกวนด้วยครับ

Post by 4404 »

ขอบคุณคุณ mindphp มากครับจะลองทำดู ผลอย่างไรจะมารายงานครับ
User avatar
secivon
PHP Full Member
PHP Full Member
Posts: 35
Joined: 24/03/2009 5:15 pm

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

Post by secivon »

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

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

ลองเปลี่ยน

Code: Select all

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

Code: Select all

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

Code: Select all

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


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

Code: Select all

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

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

Post by 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
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 14 guests