php obtiene extraer algunos valores de una matriz multidimensional
Frecuentes
Visto 370 equipos
-2
Tengo una matriz multidimensional que tiene 2-3 niveles, así que necesito extraer algunos datos de esta matriz. Probé con muchos métodos pero no pude trabajar.
aquí hay una matriz que tiene 2 detalles de usuario
Array (
[success] => 1
[anchor] => Bc-kqkaweL94QMZsAUZWpfAuzZakev32
[firstPage] => 1
[lastPage] =>
[entry] => Array (
[0] => Array (
[id] => 6518718:User:10097
[author] => 0aiffjmq4vwke
[createdDate] => 2012-08-24T00:06:10.851Z
[email] => holmesbilly79@yahoo.com
[fullName] => Billy Ray Holmes
[gender] => m
[birthdate] => 1975-06-17
[state] => member
[isOwner] =>
[isAdmin] =>
[isMember] => 1
[isBlocked] =>
[location] => Shreveport, LA, US, 71108
[profileQuestions] => Array (
[0] => Array (
[question] => q4
[answer] => Array (
[question] => Dating
[type] => select
[choices] => Yes,No
[answer] => Yes
[private] =>
)
)
)
)
[1] => Array (
[id] => 6518718:User:10095
[author] => 3oz2jdmjyocth
[createdDate] => 2012-08-23T23:43:40.865Z
[email] => vaguy83_2008@yahoo.com
[fullName] => Thomas
[gender] => m
[birthdate] => 1983-06-20
[state] => member
[isOwner] =>
[isAdmin] =>
[isMember] => 1
[isBlocked] =>
[location] => US
[profileQuestions] => Array (
[0] => Array (
[question] => q4
[answer] => Array (
[question] => Dating
[type] => select
[choices] => Yes,No
[answer] => Yes
[private] =>
)
)
)
)
)
[resources] => Array (
[3oz2jdmjyocth] => Array (
[fullName] => Thomas
[url] => http://MyChatterBook.ning.com/profile/Thomas
)
[0aiffjmq4vwke] => Array (
[fullName] => Billy Ray Holmes
[url] => http://MyChatterBook.ning.com/profile/BillyRayHolmes
)
)
)
de esta matriz, necesito obtener la dirección de correo electrónico, el nombre completo, la respuesta de citas, ... campos, ¿alguien puede saber cómo hacer esto usando php, gracias de nuevo?
4 Respuestas
1
Prueba esto:
foreach( $result['entry'] as $entry ) {
echo $entry['fullName'];
echo $entry['email'];
foreach( $entry['profileQuestions'] as $question ) {
if( $question['answer']['question'] == 'Dating' ) {
echo $question['answer']['answer'];
}
}
}
Respondido 24 ago 12, 10:08
1
¿Has probado los bucles foreach anidados? Es decir
foreach($arrays as $array)
{
foreach($array as $rows)
{
#print your rows here etc
}
}
Respondido 24 ago 12, 10:08
1
simple, seguir matrices
$array['entry'][0]['email']
Respondido 24 ago 12, 10:08
quiero esto por bucle, hay alrededor de 5000 artículos :) - Suneth Kalhara
1
¿Qué has probado? ¿Has probado con $data[0][email] para extraer el correo electrónico? ¿Puede proporcionar un fragmento de secuencia de comandos de cómo está tratando de acceder a estos datos desde el interior de la matriz? Gracias
Respondido 24 ago 12, 10:08
Intenté usar foreach foreach($result1 as $rs=>$sr){ print_r($sr['id']); } sin suerte - Suneth Kalhara
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php arrays multidimensional-array or haz tu propia pregunta.
Eso es realmente incómodo de leer para cualquiera. Ayúdenos a ayudarlo formateando la matriz en varias líneas, con sangría, para que podamos ver la estructura de datos. - Mitya
Una forma elegante de hacerlo es escribir una función recursiva para realizar la búsqueda. - thedethfox