Avatar billede Morten Professor
31. oktober 2019 - 11:26 Der er 2 kommentarer

Array to skal sættes sammen men det ser ikke helt rigtigt ud, skal have mulighed for at sortere

Hej

Har et problem med dette:
To array skal sættes sammen men det ser ikke helt rigtigt ud, skal have mulighed for at sortere.

Vil meget gerne sortere på $dateToArray Så jeg får de rigtige datoer.


//Numbers
    $count = get_option( 'next_top_count_' );
    $number = range(0, $count);
    $numberToString = implode(', ', $number);
    $countToArray = explode(', ', $count);
    $replacement = ", ";
   
   

   
    foreach ($countToArray as $number) {
        $count = get_option( 'next_top_count_' );
        $number = range(0, $count);
        $numberToString = implode(', ', $number);
        $numberToArray = explode(', ', $numberToString);
        $replacementNumber = substr_replace($number, $replacement, 0, 0);
       
       
            foreach($numberToArray as $dateCount) {
                $dateToArray[$dateCount] = explode(', ', strtotime(get_option( 'teenstyle_top_banner_name_top_start_date'.$dateCount.'' )));
                $dateToArraystring = implode(', ', $dateToArray);
                $dateToString = implode(', ', $dateToArray);
                $replacementDate = substr_replace($dateToString, $replacement, 0, 0);
               
            }
           
       
        array_multisort($numberToArray, SORT_DESC, SORT_REGULAR);
        $combineArrayCombine = array_combine($numberToArray, $dateToArray);
        var_dump($combineArrayCombine);
}; 
    foreach ($numberToArray as $next_variable) {




Output:
0 =>
    array (size=1)
      0 => string '1574812800' (length=10)
  1 =>
    array (size=1)
      0 => string '1572393600' (length=10)
  2 =>
    array (size=1)
      0 => string '1571788800' (length=10)
  3 =>
    array (size=1)
      0 => string '1572307200' (length=10)
  4 =>
    array (size=1)
      0 => string '1572566400' (length=10)
  5 =>
    array (size=1)
      0 => string '1572480000' (length=10)

Med venlig hilsen
Morten
Avatar billede Rune1983 Ekspert
01. november 2019 - 09:16 #1
Sortering i arrays i PHP undgår jeg ofte ved at lave sortering via database udtræk.
Så hvad med at du indsætter dine værdier i et tabel i en database og laver dit udtræk bagefter med den sortering du nu ønsker.
Avatar billede Morten Professor
01. november 2019 - 10:46 #2
Hej

Fik det til at virke her er koden og måden, å måske andre kan bruge den:
//Numbers
    $count = get_option( 'next_top_count_' );
    $number = range(0, $count);
    $numberToString = implode(', ', $number);
    $countToArray = explode(', ', $count);
    $replacement = ", ";
   
   

    // Makes the $numberToArray
    foreach ($countToArray as $number) {
        $count = get_option( 'next_top_count_' );
        $number = range(0, $count);
        $numberToString = implode(', ', $number);
        $numberToArray = explode(', ', $numberToString);
        $replacementNumber = substr_replace($number, $replacement, 0, 0);
       
            // Makes the dateToArray
            foreach($number as $dateCount) {
                $dateToArray[$dateCount] = strtotime(get_option( 'teenstyle_top_banner_name_top_start_date'.$dateCount.'' ));
                $dateToString = implode(', ', $dateToArray);
                $replacementDate = substr_replace($dateToString, $replacement, 0, 0);
               
            }
           
    }
    // Combine two array
    $sortDateToArray = array_combine($numberToArray, $dateToArray);
    //Sotere from hight too low
    arsort($sortDateToArray);
   
    // Loop with sort
    foreach ($sortDateToArray as $next_variable => $date_variable) {
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester