stik mig så den staveplade mit private blabber, det skal sku ud – også selvom jeg ikke er den fødte ordbog

3Feb/082

en sort(heads-up)

lige en lille en jeg fadt over da jeg moggede rundt med data der skulle sorteres alfabetisk

hvis de strenge der sorteres indeholder undescore "_" og romertal, så erstatte "_" med en space " ":

$test2 = $test = array(
  'test_42_i_-_noget'   => 'test_42_i_-_noget',
  'test_42_iv_-_noget'  => 'test_42_iv_-_noget',
  'test_42_v_-_noget'   => 'test_42_v_-_noget',
  'test_42_iii_-_noget' => 'test_42_iii_-_noget',
  'test_42_ii_-_noget'  => 'test_42_ii_-_noget',
  'test_42_vi_-_noget'  => 'test_42_vi_-_noget',
);
 
ksort($test, SORT_STRING);
print_r($test);$test = array();
foreach ($test2 as $key => $value)
{
  $key = str_replace('_', ' ', $key);
  $value = str_replace('_', ' ', $value);
  $test[$key] = $value;
}
 
ksort($test, SORT_STRING);
print_r($test);
 
/* resultatet af de to print_r()
Array (
    [test_42_iii_-_noget] => test_42_iii_-_noget
    [test_42_ii_-_noget] => test_42_ii_-_noget
    [test_42_iv_-_noget] => test_42_iv_-_noget
    [test_42_i_-_noget] => test_42_i_-_noget
    [test_42_vi_-_noget] => test_42_vi_-_noget
    [test_42_v_-_noget] => test_42_v_-_noget
)
Array (
    [test 42 i - noget] => test 42 i - noget
    [test 42 ii - noget] => test 42 ii - noget
    [test 42 iii - noget] => test 42 iii - noget
    [test 42 iv - noget] => test 42 iv - noget
    [test 42 v - noget] => test 42 v - noget
    [test 42 vi - noget] => test 42 vi - noget
)
*/

php kan fortolke romertal når de er en del af en sætning, men ikke når de står som dele af et "ord, ret funkey egentlig, men det er sku da nice at den kan det, ellers ville man sku hurtigt kunne komme ud i noget værre rod :-)

- nå tilbage til nørderiet

Tagged som: Læg en kommentar
Kommentarer (2) Trackbacks (0)
  1. Det har jo ikke noget at gøre med romertal, det er jo bare en tekststreng, hvor i kommer før v.

    tror ikke den vil sortere denne korekt.

    iv__vi_tester (4)
    d_test (500)
    c_test (100)

    kan ikke lure hvordan den skulle kunne kende forskel, men det er nok bare mig

  2. det kan være, men så er det sjovt at sorteringen så ikke virker når der er “_” i .. der er den jo helt skæv..


Leave a comment

(required)

Ingen trackbacks endnu.

site tracking with Asynchronous Google Analytics plugin for Multisite by WordPress Expert at Web Design Jakarta.