Foros del Web » Programando para Internet » PHP »

comparacion de arreglos segun criterio

Estas en el tema de comparacion de arreglos segun criterio en el foro de PHP en Foros del Web. Hola a todos en foros del web tengo el siguiente array $array_campos_tFicha = array('100-autorpersonal', '090-clasificacionlocal', '020-isbn', '043-lugarpub', '041-idiomapub', '022-issn', '040-fuentedecatalogacion', '045-cronologicofechahora', '050-clasificacionLC', '082-clasificacionDewey', '110-autorcorporativo', '111-autorporasambleaconferenciacongreso', ...
  #1 (permalink)  
Antiguo 16/12/2009, 13:40
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
comparacion de arreglos segun criterio

Hola a todos en foros del web

tengo el siguiente array

$array_campos_tFicha = array('100-autorpersonal', '090-clasificacionlocal', '020-isbn', '043-lugarpub', '041-idiomapub', '022-issn', '040-fuentedecatalogacion', '045-cronologicofechahora', '050-clasificacionLC', '082-clasificacionDewey', '110-autorcorporativo', '111-autorporasambleaconferenciacongreso', '130-asientoportitulouniforme_tituloconvencional', '210-tituloabreviado', '222-tituloclave', '240-titulouniforme', '243-titulouniformecolectivo', '245-titulo_mencionderesponsabilidad', '246-variantedeltitulo', '250-edicion_menciondeedicion', '306-duraciondelmaterial', '310-frecuenciaactualdepublicacion', '362-fechadepublicacion_designaciondesecuencia', '400-notadeseriebajoautorpersonal', '410-notadeseriebajoautorcorporativo', '411-notadeseriebajoautorporasamblea', '440-serie_mencionderesponsabilidad', '490-notadeserie_menciondeserie', '500-notasgenerales', '501-notasdecon', '502-notadetesis', '503-notadehistorialbibliografico', '504-notadebibliografia', '505-notadecontenido', '506-notaderestriccionesdeacceso', '508-notasdecredito', '510-notadereferencia_cita', '511-notasdeelenco', '518-notassobrefecha_horaylugardegrabacion', '520-notaderesumen', '521-notadeaudiencia', '530-notasobreotrosformatosdisponibles', '534-notadeversionoriginal', '538-notadedetallesdelsistema', '546-notadeidioma', '583-acciondeconservacion', '590-notadecatalogacionpersonalizada', '600-encabezamientosbajoautorpersonal', '610-encabezamientosbajoautorcorporativo', '611-encabezamientosbajoautorporasambleaconferenciacong resoetc', '630-encabezamientosbajotitulouniforme', '650-encabezamientosbajotemasgenerales', '651-encabezamientosbajonombresgeograficos', '700-asientossecundariosbajoautorpersonal', '710-asientossecundariosbajoautorcorporativo', '711-asientossecundariosbajoautorporasambleaconferencia congresoetc', '730-asientossecundariosbajotitulouniforme', '740-asientossecundariodetitulo', '770-fechadefasciculosnorecibidos', '760-fechadeinicio_terminacion', '780-acervo', '856-ligaarecursoselectronicos');

El caso es que deseo comparar este array con otro que esta formado por un resultado de una vista (postgresql), dejo las tablas con sus datos y la vista para que me ayuden mas exactamente:

enlace para script de tablas

Cita:
Esta es la vista

CREATE OR REPLACE VIEW "public"."marcseleccionados" (
idtipomaterial,
codmarc,
titulomarc,
idmarc)
AS
SELECT tipomaterial.idtipomaterial, marc.codmarc, marc.titulomarc, marc.idmarc
FROM marc, tipomaterial, marcmaterial
WHERE ((marc.idmarc = marcmaterial.idmarc) AND (tipomaterial.idtipomaterial =
marcmaterial.idtipomaterial));
pero solamente comparar los primeros 3 caracteres de cada elemento del array $array_campos_tFicha contra mi array que proviene de la vista en postgresql

tengo nocion de que podria ser mas o menos con un for mas o menos asi, cabe destcar que $campos es mi array del resultado de la vista (tambien me gustaria saber como retorno todas las filas para convertirla en el array $campos, la consulta es sobre la vista anterior y seria 'select * from marcseleccionados" where idtipomaterial=1', a partir de esta consulta se formaria mi array de la bd)

Cita:
for($i=0;$i<count($array_campos_tFicha);$i++){
if(in_array($array_campos_tFicha[i],$campos)){
/* aca lo que quiero que haga es crear un nuevo array donde contendra los elementos que coinciden, pero la limitante que deseo es que cada elemento del array $array_campos_tFicha solo tome a partir del 4to caracter hasta el final */
}
}
Es decir, seria algo como asi, si el elemento 100-autorpersonal coincide seria:

Cita:
$array_final[] = 'autorpersonal'

Si el elemento 090-clasificacionlocal coincide se agregaria tambien al nuevo array

$array_final[] = 'clasificacionlocal'
Espero su ayuda, muchas gracias
  #2 (permalink)  
Antiguo 16/12/2009, 13:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: comparacion de arreglos segun criterio

Cita:
Iniciado por equality_211085 Ver Mensaje
[...] Es decir, seria algo como asi, si el elemento 100-autorpersonal coincide seria [...]
pues tu ya te has dado la respuesta y todo... ¿donde esta el problema??
Código PHP:
$foo = array();

// ...

if (/* ... */)
{
  
$foo []= $bar;

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/12/2009, 14:02
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: comparacion de arreglos segun criterio

he intentado pero siempre q mando a imprimir el array, me imprime:

Array
Array
Array

por eso pido ayuda en lo de la consulta y pasarla a array :D

Gracias de todos modos
  #4 (permalink)  
Antiguo 16/12/2009, 14:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: comparacion de arreglos segun criterio

si lo imprimes directamente con echo siempre te va a resultar Array, porque los arreglos no se imprimen sin un índice...

para ello debes especificar alguno... o bien, usar var_dump() para analizar su estructura e imprimir el adecuado...

por favor, lee el manual
http://php.net/array
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/12/2009, 16:33
 
Fecha de Ingreso: septiembre-2009
Ubicación: Managua
Mensajes: 128
Antigüedad: 14 años, 7 meses
Puntos: 5
Respuesta: comparacion de arreglos segun criterio

Gracias amigo probare eso y leere la documentacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:40.