Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/08/2010, 12:06
worldPeace_Plis
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 238
Antigüedad: 17 años, 2 meses
Puntos: 5
Respuesta: llenar array con otro array

bueno asi quedo mi terjiversado y 'coplicado' revoltijo XD

Tengo dos Arrays:
Código PHP:
$newArr = array(2,3,4,5,array(14,15),array(8,16,7));
$catlist = array(
        array(
'id'=>2,'name'=>"tema 2"),
        array(
'id'=>3,'name'=>"tema 3"),
        array(
'id'=>4,'name'=>"tema 4"),
        array(
'id'=>5,'name'=>"tema del 5"),
        array(
'id'=>14,'name'=>"el tema 14"),
        array(
'id'=>15,'name'=>"15 es mi tema"),
        array(
'id'=>8,'name'=>"tema OCHO"),
        array(
'id'=>16,'name'=>"tema 16"),
        array(
'id'=>7,'name'=>"ultimo tema, 7")
    ); 
Y asi obtengo un tercero donde cambia un valor (numerico por otro de tipo array:
Código PHP:
$newArr2 = array();
$index_newArr2 0;
$arrayInner = array();
$index_arrayInner 0;
foreach (
$newArr as $key=>$value){
    if(
is_array($value)){
        
$index_arrayInner 0;
        
$arrayInner $value;
        foreach(
$arrayInner as $key=>$value)
        {
            
$arrayInner $value;
            foreach(
$catlist as $key=>$value)
            {
                for (
$a=0;$a<count($catlist);$a++)
                {
                    if(
$arrayInner==$catlist[$a]['id'])
                    {
                    
$newArr2[$index_newArr2][$index_arrayInner]=$catlist[$a];
                    break;
                    }
                }
                }
        
$index_arrayInner++;
        }
    }
    else
    {
        
// busca valor(\$value) en catlist...
        
for ($a=0;$a<count($catlist);$a++) 
        {
            if(
$value==$catlist[$a]['id'])
            {
            
$newArr2[$index_newArr2] = $catlist[$a];
            break;
            }
        }
    }
    
$index_newArr2++;

la salida de Array new2 seria entonces:
Código:
Array
(
    [0] => Array
        (
            [id] => 2
            [name] => tema 2
        )

    [1] => Array
        (
            [id] => 3
            [name] => tema 3
        )

    [2] => Array
        (
            [id] => 4
            [name] => tema 4
        )

    [3] => Array
        (
            [id] => 5
            [name] => tema del 5
        )

    [4] => Array
        (
            [0] => Array
                (
                    [id] => 14
                    [name] => el tema 14
                )

            [1] => Array
                (
                    [id] => 15
                    [name] => 15 es mi tema
                )

        )

    [5] => Array
        (
            [0] => Array
                (
                    [id] => 8
                    [name] => tema OCHO
                )

            [1] => Array
                (
                    [id] => 16
                    [name] => tema 16
                )

            [2] => Array
                (
                    [id] => 7
                    [name] => ultimo tema, 7
                )

        )

)
Que lio!!, mi granduda es si para buscar dentro de los arrays esta bien ir comparando los valores (if,...) como le hice o si hay alguna sentencia de arrays_php que haga esto mas rapido sin tanto if, asi en bucles?? o hay algun buscar into array y reemplazar ? o como?, o si esto esta bien, pero pueda ser mas simplificado, algun paso que esta de mas