J'ai donc essayé de comprendre cela pendant un certain temps maintenant et semble être coincé. J'ai un multidimensionnel et j'essaye de sortir toutes les valeurs avec une certaine clé. Voici le code:Obtenir toutes les valeurs avec une certaine valeur de clé
//My Array:
$services = array(
array( service_name => 'facebook',
service_title => 'Facebook',
service_order => 0,
service_type => 'Social Networking'
),
array( service_name => 'twitter',
service_title => 'Twitter',
service_order => 0,
service_type => 'Social Networking'
),
array( service_name => 'tumblr',
service_title => 'MySpace',
service_order => 0,
service_type => 'Blogging'
)
);
Le problème est que je veux sortir les valeurs par service_type
par exemple « réseautage social » ou « Blogging » Je suis en mesure de le faire si j'utilise un foreach comme ceci:
foreach($services as $service) {
if ($service['service_type'] == 'Social Networking') {
echo($service['service_title']);
}
if ($service['service_type'] == 'Blogging') {
echo($service['service_title']);
}
}
qui fonctionne très bien jusqu'à ce que j'essaie d'ajouter un titre dans les types comme
foreach($services as $service) {
if ($service['service_type'] == 'Social Networking') {
echo($service['service_title']);
}
echo ('<h3> Blogging</h3>');
if ($service['service_type'] == 'Blogging') {
echo($service['service_title']);
}
}
J'ai assez appris à connaître c'est à cause de la façon foreach
boucles fonctionnent donc j'ai essayé de le faire avec quelque chose comme while($service['service_type'] == 'Social Networking')
(qui crée une boucle infinie amusante) et de diverses autres façons.
Idéalement, je veux trier le tableau par service_type
, puis afficher les résultats sans avoir à exécuter la boucle foreach
entre les en-têtes.
Toute aide sur ce serait génial ou même d'autres suggestions sur les façons de le faire.
Merci qui m'a obtenu sur la bonne voie. Je reçois cette erreur si 'Warning: in_array() [fonction.in-array]: Type de données incorrect pour le second argument' Je ne sais pas ce que cela signifie, mais je vais jouer avec un peu. J'aimerais aussi que vous puissiez expliquer le code un peu. Je comprends la plupart mais plus je comprends, mieux c'est. – BandonRandon
_service_type_ doit être cité. '$ service [service_type]' devrait être '$ service ['service_type']' sur les lignes 3 et 4. Aussi, si vous voulez trier par type de service, ajoutez simplement 'sort ($ service_types);' après le premier 'foreach '. – Herbert
J'ai ajouté quelques commentaires. Je ne sais pas pourquoi vous auriez cet avertissement, le code semble correct en un coup d'oeil. – Hammerite