Diskon 80% terbatas! Masukkan kupon "merdeka" di kelas apa saja

Mengatur urutan dari A sampai BZ

Saya pengen ubah urutan nilai nya jadi 4000 => A sampai akhir BZ gimana ya?

 	function createColumnsArray($end_column, $first_letters = '')
{
  $columns = array();
  $length = strlen($end_column);
  $letters = range('A', 'Z');

  // Iterate over 26 letters.
  foreach ($letters as $letter) {
      // Paste the $first_letters before the next.
      $column = $first_letters . $letter;

      // Add the column to the final array.
      $columns[] = $column;

      // If it was the end column that was added, return the columns.
      if ($column == $end_column)
          return $columns;
  }

  // Add the column children.
  foreach ($columns as $column) {
      // Don't itterate if the $end_column was already set in a previous itteration.
      // Stop iterating if you've reached the maximum character length.
      if (!in_array($end_column, $columns) && strlen($column) < $length) {
          $new_columns = createColumnsArray($end_column, $column);
          // Merge the new columns which were created with the final columns array.
          $columns = array_merge($columns, $new_columns);
      }
  }

  return $columns;
}
echo "<pre>";
print_r( createColumnsArray('BZ'));
avatar fadhelmurphy
@fadhelmurphy

19 Kontribusi 1 Poin

Diperbarui 8 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

tambahin fungsi seperti ini

function reIndex($arr, $index)
{
  foreach ($arr as $key => $value) {
      $arr[$key+$index] = $arr[$key];
      unset($arr[$key]);
  }
  return $arr;
}

nanti di fungsi createColumnsArray() kedua return valuenya di passing ke reIndex().

function createColumnsArray($end_column, $first_letters = '')
{
  // ...
  foreach ($letters as $letter) {
      // ...
      if ($column == $end_column)
          return reIndex($columns, 4000);
  }

  foreach ($columns as $column) {
      // ...
  }

  return reIndex($columns, 4000);
}

mau start dari index berapapun tinggal passing index yang diinginkan

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 8 tahun yang lalu

Login untuk ikut Jawaban