Solution 1 :

To work around this you need to manually number the checkboxes in your form i.e.

<input type="checkbox" class="switch_1" name="attendo[0]">
<input type="checkbox" class="switch_1" name="attendo[1]">
<input type="checkbox" class="switch_1" name="attendo[n]">

This will force the assigned entries to be set (if the checkbox is checked) in $_POST['attendo'].

Solution 2 :

use array_values to reindex an array

$array = array_values($array);

Problem :

I wanted to get an array of all the checkboxes whether selected or not in sequence with the help of the PHP post method. I am getting an array but it shows on selected checkboxes first then the non selected ones. For me, the sequence is very important as this has to be used for Attendance. I am providing the code and output below.


<form action="aattendscr.php" method="post">
   <div class="form-group">
      <input type="checkbox" class="switch_1" name="attendo[]">


 include "database.php";
 if (isset($_POST['submit'])) 
            if(isset($_POST['attendo'][$x])){echo "On";}else{echo "Off";}



enter image description here

On On On Off Off

Desired Output
On Off On Off On

Any help will be appreciated.


Comment posted by Aksen P

What is

Comment posted by Md. Zakria Sultan

It is an array storing the of details of student of a particular class. Array ( [0] => on [1] => on [2] => on )