Foros del Web » Programando para Internet » PHP »

Duda con array del tipo $key => $value

Estas en el tema de Duda con array del tipo $key => $value en el foro de PHP en Foros del Web. Hola por acá. En resumen, tengo una función que me devuelve un array del tipo $key => $value, y todo sería muy fácil si $key ...
  #1 (permalink)  
Antiguo 07/07/2011, 11:02
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Pregunta Duda con array del tipo $key => $value

Hola por acá. En resumen, tengo una función que me devuelve un array del tipo $key => $value, y todo sería muy fácil si $key tuviese un nombre fijo, pero lo que devuelve es lo siguiente (usando print_r($selected_values);):
Código:
Array
(
    [0] => Array
        (
            [1.1 Código de Referencia:] => CU 101
            [1.2 Título:] => Registro de fondo documental
            [1.3 Fechas extremas:] => 0000-00-00
            [1.4 Nivel de Descripción:] => Nivel 7
            [1.5 Volumen:] => 85468
        )

)
Ahora bien, lo que necesito es tener la posibilidad de formatear esos valores con html, de forma tal que resulte lo siguiente:
Código:
<strong>1.1 Código de Referencia:</strong>
<p>CU 101</p>
<strong>1.2 Título:<strong>
<p>Registro de fondo documental</p>
<strong>1.3 Fechas extremas:<strong>
<p>0000-00-00</p>
<strong>1.4 Nivel de Descripción:<strong>
<p>Nivel 7</p>
<strong>1.5 Volumen:<strong>
<p>85468</p>
Mi código php es el siguiente:
Código PHP:
Ver original
  1. <?php
  2. function isadg_post_fields(){
  3.     global $wpdb;
  4.     $postid = get_the_id();
  5.     $metakey = "_simple_fields_selected_connector";
  6.     $get_post_connector = simple_fields_get_post_connectors();
  7.     $get_field_groups = simple_fields_get_field_groups();
  8.  
  9.     $simple_query = $wpdb->get_row("SELECT meta_value
  10.                                    FROM " . $wpdb->prefix . "postmeta
  11.                                    WHERE meta_key = '$metakey' AND post_id = '$postid'
  12.    ");
  13.     // echo $simple_query->meta_value;
  14.     $post_connector_id = $simple_query->meta_value;
  15.  
  16.     $connector_id = $get_post_connector[$post_connector_id];
  17.     foreach ( $connector_id["field_groups"] as $field_group ) :
  18.     ?>
  19.     <div class="field-group" style="border: solid 1px #ccc; margin-bottom: 5px;">
  20.     <?php
  21.         echo "<h3>" . $field_group["name"] ."</h3>";
  22.         $selected_values = simple_fields_get_post_group_values($postid, $field_group["id"], true, 2);
  23.         foreach ( $get_field_groups["fields"] as $group_field ) :
  24.             echo "<strong>" . $group_field["name"] . "</strong>";
  25.         endforeach;
  26.     ?>
  27.         <pre>
  28.         <?php
  29.         print_r($selected_values);
  30.         //var_dump($selected_values);
  31.         ?>
  32.         </pre>
  33.     </div>
  34.     <?php
  35.     endforeach;
  36. }
  37. ?>
Hasta aquí este código me da un error de "Notice: Undefined index: fields in..." y "Warning: Invalid argument supplied for foreach() in..." en el foreach():
Código PHP:
Ver original
  1. foreach ( $get_field_groups["fields"] as $group_field ) :
  2.     echo "<strong>" . $group_field["name"] . "</strong>";
  3. endforeach;
Descarté esta opción e intenté hacer un bucle for() que iterara dentro de el resultado arrojado por $selected_value, pero no obtuve lo que quería, que supongo que es la manera de hacer esto. Espero algún norte que me guíe...

PD1: Este código como verán, es parte de un plugin para wordpress que estoy haciendo, pero como mi duda es básicamente sobre PHP lo planteo en este foro.

PD2: Estoy trabajando además con Simple Fields, que es el que me trae de la mano y corriendo. La función simple_fields_get_field_groups() me arroja algunos resultados que de ser necesario los posteo aquí.

Saludos y Gracias de antemano...
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #2 (permalink)  
Antiguo 07/07/2011, 11:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Duda con array del tipo $key => $value

Bien, entiendo.

La idea con un foreach() es sencilla:
Código PHP:
$array = array(
  
'clave' => 'valor',
  
'foo' => 'bar',
);

foreach (
$array as $key => $value)
{
  echo 
$key;
  echo 
$value;

Siempre y cuando tengas un array con este tipo de estructura no debe haber problema.

Bueno, creo que la estructura ya la tienes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/07/2011, 13:08
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Respuesta: Duda con array del tipo $key => $value

Gracias hermano, ya tengo esta parte solucionada:
Código PHP:
Ver original
  1. foreach ( $selected_values[0] as $key => $value ) :
  2.     echo "<strong>" . $key ."</strong>";
  3.     echo "<p>" . $value . "</p>";
  4. endforeach;
Intenté de la manera que me dijiste, pero me daba como resultado $key = 0 y $value = Array, por eso la iteración en 0 en el array $selected_values[0]...

Me quedan detalles por pulir aquí, pero por hoy es más que suficiente...

__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose

Etiquetas: html, key, tipo
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 21:46.