Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Dividere array

  1. #1

    Dividere array

    Ho un array con 30 elementi vorrei dividerlo in due array uno con gli elementi superiori a 25 e uno con gli elementi inferiori a 25 esiste una funzione in php che fa una cosa del genere?
    Grazie per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Esiste la funzione array_filter()

    http://it2.php.net/manual/en/function.array-filter.php

    altrimenti cicli l'array e con un semplice if accodi a uno o all'altro.

  3. #3
    Ho provato a fare una cosa del genere per dare piu ordine al codice ed evitare una funzione esterna ma non funziona qualcuno puo dirmi se c'e' un modo per farla funzionare cosi

    Codice PHP:
    $array = array(6789101112,13,14,15,16);
    print_r(array_filter($array,create_function($array,'return $array[0] < 10;'))); 
    oppure devo mettere per forza la funzione esterna

    Codice PHP:
    function f$item ){
        return 
    $item 10;
    }
    $array = array(6789101112,13,14,15,16);
    print_r(array_filter($array,"f")); 
    questa funziona ma vorrei sapere se e' possibile far funzinare la prima molto piu compatta

  4. #4
    Codice PHP:
    $array = array(6789101112,13,14,15,16); print_r(array_filter($array,create_function($array,'return $array[0] < 10;'))); 
    La funzione con create_function

    Codice PHP:
    $array = array(6789101112,13,14,15,16);
    print_r(array_filter('$array',create_function($array,'return $array < 10;'))); 
    Prova così

  5. #5
    non funziona mi da errore

    Codice PHP:
    print_r(array_filter($array,create_function($r,'return $r < 10;'))); 
    cosi non da errore ma mi ritorna tutto l'array

    Codice PHP:
    Array ( [0] => [1] => [2] => [3] => [4] => 10 [5] => 11 [6] => 12 [7] => 13 [8] => 14 [9] => 15 [10] => 16 

  6. #6
    scusami avevo sbagliato a mettere gli apici, il caldo

    prova così
    Codice PHP:
    print_r(array_filter($array,create_function('$r','return $r < 10;'))); 

  7. #7
    grazie molte a tutti ora funziona perfettamente, per chi dovesse usarla vi avverto che leggendo in giro ho visto che create_function se usata in maniera massiccia e' molto avida di risorse

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ma non faresti prima semplicemente così?

    Codice PHP:
    $maggiori = array();
    $minori = array();
    $array = array(3,1,30,25,2,4,7,9,50);
    foreach(
    $array as $elem)
      
    $elem 25 $maggiori[] = $elem $minori[] = $elem

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.