J'utilise une boucle foreach pour afficher les résultats json, lorsque certaines conditions sont remplies, et que je souhaite trier par le champ name
. J'essaie usort()
, mais n'arrive pas à le comprendre.sort json aboutit à foreach loop
JSON:
{
"Shawn Taylor":{
"name":"Shawn Taylor",
"title":"",
"photo_url":"house_165 (1).jpg",
},
"Another Name": {
"name":"Another Name",
"title":"Title is here",
"photo_url":"Person.jpg",
}
}
PHP:
$data_json = file_get_contents('data.json');
$data_array = json_decode($data_json, true);
$i = 0;
foreach($data_array as $key => $person){
if($person['title'] == 'some title'){
include('card.php');
if(++$i % 4 === 0) {
echo '<div class="clearfix"></div>'; // inserts a clearfix every 4 cards
}
}
}
Donc, ce retourne tous les résultats je pense, mais pas triés. J'ai essayé usort() de différentes manières, mais je suis juste tombé sur mon visage terriblement :) S'il vous plaît, aidez!
Vous ne peut pas parcourir JSON dans une boucle for en PHP. Vous devez d'abord le décoder. 'json_decode ($ data_array, true);' –
J'ai déjà décodé - édité ma question pour l'inclure –
BTW, pourquoi le -1 sur la question? –